Мы разбиваем монолитное приложение на микросервисы.Это будет постепенный процесс, это означает, что сначала мы начнем с 2-х микросервисов, позже мы разделим их на больше и так далее.
Монолай предоставляет REST API, который предоставляет методы для управления десятками различных объектов (например, пользователи, user_types, роли, role_types и т. Д.).Существует только один потребитель REST API, представленный монолитом, - приложение внешнего интерфейса Javascript.
В настоящее время мы изучаем две возможности настройки шлюза API (Zuul):
URL-адреса будут содержать имя микросервиса, например, /api/dictionary
будет обслуживать /api/dictionary/user_types
и /api/dictionary/role_types
, тогда как /api/data
будет служить /api/data/users
и /api/data/roles
.Это означает, что URL будут меняться со временем, когда мы создаем больше микросервисов.Каждый раз, когда мы делаем это, потребитель (внешний интерфейс) должен быть изменен.
URL будут основаны на именах сущностей, например, /api/users
, /api/user_types
, /api/roles
и /api/role_types
.Недостатком является то, что конфигурация Zuul должна содержать явную конфигурацию для каждого отдельного объекта, управляемого системой.
Какой из приведенных выше подходов верен?