Мы используем шлюз kong api как единый шлюз для всех API. мы сталкиваемся с проблемой задержки с некоторыми из наших API (1500-2000 мс). позже, когда мы проверили, задержка создавалась из-за плагина «ограничения скорости». Когда мы отключаем плагин, задержка улучшается, и ответ такой же, как и тот, который мы получаем напрямую от IP (около 300 мс). Я пытаюсь настроить узел Redis для кеширования запросов к базе данных, я не уверен, как мы можем настроить kong для чтения из самого Redis. как мы можем кэшировать запросы к базе данных на узел redis. Мы используем postgresql для kong.
Как использовать Redis с шлюзом kong api
Ответы (1)
Я думаю, может быть, вы пытаетесь делать несколько разных вещей одновременно.
Во-первых, ограничение скорости: каково значение вашего параметра config.policy
? В документации Kong есть три значения: "local
(счетчики будут храниться локально в памяти на узле), cluster
(счетчики хранятся в хранилище данных и используются всеми узлами) и redis
(счетчики хранятся на сервере Redis и будут совместно использоваться узлами) ".
Если вы наблюдаете высокую задержку и ваш config.policy
установлен на cluster
или redis
, это может быть связано с задержкой между Kong и postgres / redis (в зависимости от того, какую политику вы используете). Если вы используете ограничение скорости только для предотвращения злоупотреблений, использование «локальной» политики будет быстрее. (Подробнее об этом в документации Kong.)
Другой вопрос касается кеширования: Kong Enterprise имеет встроенный плагин кеширования, но для Kong Community, поскольку он построен на базе Nginx, вы можете выполнять кеширование с помощью Nginx. Эта ссылка может вам помочь.