Пользовательский интерфейс - использование различных API микросервисов и консолидация списка в виде сетки, что позволяет пользователям сортировать данные - PullRequest
0 голосов
/ 18 мая 2019

В настоящее время в нашем проекте переднего плана (AngularJS) нам необходимо использовать разные конечные точки, которые встроены в архитектуру микросервисов, и отображать данные в виде списка.Затем нам нужно разрешить пользователям сортировать данные по столбцам, выбранным пользователем.Например, мы перечисляем 10 столбцов, из которых 6 отображаются из Сервиса A, а остальные 4 столбца извлекаются из другого Сервиса B. Обе сервисы не имеют прямого сопоставления отношений, а на основе идентификатора объекта Сервис B возвращает данные.

Теперь мы объединили список и показали столбцы и позволили пользователям выбирать столбцы по своему выбору.В качестве следующего шага нам нужно разрешить пользователям беспрепятственно сортировать данные любого столбца.В парадигме микросервисов соблюдаются ли передовые методы извлечения данных из обеих служб, их сортировки и отображения результатов.

У нас есть несколько опций, таких как

  1. , чтобы вывести все данные сразу из обеих служб и отсортировать их в веб-интерфейсе.Но проблема с этим подходом заключается в том, что если имеется больше наборов данных, то пользователь может чувствовать медлительность, и иногда браузер может зависнуть.Мы используем AngularJs в нашем проекте и уже сталкиваемся с медлительностью, когда набор данных растет.

  2. Представляем промежуточную службу API (облегченный сервер nodejs), которая поможет координировать запрос и обрабатывает его внутренне.запрашивает данные между различными службами и отправляет результат обратно.

  3. Создайте промежуточную службу API, которая будет кэшировать данные и организовывать запрос и отвечать на данные из нескольких служб.

Может ли кто-нибудь просто поделиться какими-то другими практиками, которым можно следовать для приведенного выше варианта использования?В современных тенденциях микросервисов все API-сервисы представлены как отдельные сервисы, и это делает интерфейсный интерфейс немного сложным для обработки сервисов между различными API-интерфейсами и представления данных пользователям в пользовательском интерфейсе для взаимодействия.

Любые предложения или подходы или подсказки будут полезны.

Заранее спасибо.Srini

1 Ответ

0 голосов
/ 19 мая 2019

Как вы сказали, есть несколько способов справиться с вашим сценарием.На мой взгляд, лучшим подходом будет второй вариант.Он похож на шаблон агрегации шлюза , где вы вводите слой шлюза для обработки агрегации ваших сервисных API.Дополнительным преимуществом является то, что вы можете при необходимости припарковать некоторые общие функции на этом уровне шлюза.

Конечно, очевидным недостатком будет то, что теперь у вас есть еще один уровень, который должен быть высокодоступным и управляемым.Так что тщательно продумайте все за и против, прежде чем принять решение о своем подходе.Например, если это единственное объединение, которое вам когда-либо понадобится, то 3 может быть лучшим вариантом.

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