Как API-шлюзы обрабатывают конечные точки списка с такими параметрами, как фильтры, orderBy, groupBy, limit, offset? - PullRequest
0 голосов
/ 07 мая 2019

Скажем, у нас есть несколько микросервисов A, B, C, ..., обеспечивающих точки доступа, такие как

[HTTP-GET] /service-a/resources

, которые возвращают список ресурсов (например, в виде json).Каждая из этих конечных точек списка предоставляет возможность добавлять фильтры (attribute = value), orderBy, а также параметры limit и offset.

Теперь я хочу, чтобы API-шлюз предоставлял конечную точку / шлюз / ресурсы свсе те же параметры.Тем не менее, если предположить, что я хочу сделать запрос типа

[HTTP-GET] /gateway/resources?orderBy=date.ASC&type=mytype&limit=50&offset=1650

, как с этим справится шлюз?Запрашивает и объединяет результаты конечных точек микросервиса, пока запрошенные элементы не будут найдены?Имеют ли реализации / инфраструктуры шлюзов, такие как Ocelot, AWS-Gateway, Azure-Gateway, ... даже такие функциональные возможности "из коробки"?

Я некоторое время занимался некоторыми исследованиями.Однако я не смог получить эту ключевую информацию.Мне кажется, что объединение всех элементов с необходимыми атрибутами для фильтрации и сортировки является единственным способом достижения эффективной и быстрой конечной точки списка.Однако это связано с ценой избыточных данных и синхронизации.

Небольшая подсказка была бы очень полезна!Есть ли у вас опыт с такой проблемой или есть даже лучшие практики?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...