Комментарии 6
Зачем инвалидация по ресурсу, если он отдает заголовок etag? Зачем инвалидация по времени если ресурс отдает заголовки кеширования? Зачем инвалидация по частоте если достаточно вытеснения по ограничению памяти? Посмотрите кеширование Nginx, оно значительно лучше latency в 15мс. Тема API Gateway не раскрыта.
Все взаимодействие с мастер системами происходит на базе gRPC, к тому же мы не являемся мейнтейнерами мастер систем и не можем вносить в них изменения когда нам это нужно. Заголовков кэширования и etag там нет. Кэширование nginx (и надстроек над ним) к сожалению нам не подходит так как у нас не умеют его готовить. К тому же мы можем собирать ответы на большой запрос из разных кусков кэша (читай агрегировать) данные так как нам нужно
Контекст многое объясняет, спасибо. Товарищ делал прокси на расте, смотрите Sequential requests на https://github.com/evgenyigumnov/cblt-next Мелкие джейсон запросы больше 5 мс - это очень плохой прокси. За 15 мс техдир может заставить изучить Nginx. Для сравнения, однажды пришлось делать встроенный в приложение прокси, так вот его latency было 0.3-0.4 мс.
В нашей системе пользователи часто делают выборки по сложным фильтрам, что создает дополнительную нагрузку на сервисы - какие фильтры, какая нагрузка? Грепом фильтруете?
15 мс на ответ: как мы добились высокой скорости работы API Gateway