Допустим, я создаю приложение для чата с микросервисной архитектурой. У меня есть 2 услуги:
Служба шлюза: отвечает за аутентификацию пользователя (конечная точка API
/api/v1/users
) и маршрутизацию запросов к соответствующей службе.Служба обмена сообщениями: отвечает за создание, получение, обновление и удаление сообщений (конечная точка API
/api/v1/messages
).
Если я использую Docker Compose или Kubernetes, как моя служба шлюза узнает, на какую службу она должна перенаправляться, если есть запрос, отправляемый на конечную точку /api/v1/messages
API?
Раньше я писал собственное промежуточное ПО для динамического обнаружения служб (https://github.com/zicodeng/tahc-z/blob/master/servers/gateway/handlers/dsd.go). Идея заключается в том, что я предварительно регистрирую службы с конечными точками API, за которые они отвечают. И моя служба шлюза полагается на путь ресурса запроса, чтобы решить, в какую службу этот запрос следует перенаправить. Но как это сделать с помощью Docker Compose или Kubernetes? Нужно ли мне по-прежнему сохранять собственную версию ПО промежуточного слоя для динамического обнаружения служб?
Заранее спасибо!