Шаблон
Существует хорошо известный шаблон API Gateway , который я бы порекомендовал вам в качестве первого выбора.По сути, это единственная точка входа для обработки всех запросов, но она не работает как обратный прокси-сервер, она также может включать такие ресурсы, как регулирование, ограничение скорости, аутентификация и т. Д.
Ограничение скорости
Клиенты всегда получают доступ к общедоступному домену вашего приложения из внешней сети, в которой контролируются тарифы.В то время как ваши сервисы должны обмениваться данными между собой по локальным сетям, таким как IP-адрес или имя сервиса (имя контейнера), и здесь нет никакого контроля.И, конечно, локальная связь намного быстрее, чем внешняя.
SSL
Поскольку у вас есть центральный пункт для обработки запросов, вы можете установить SSL в этомэкземпляр, и он будет прослушивать HTTPS-вызовы, передавая их во внутренние службы.Если все они находятся на одном сервере, их довольно легко настроить и заставить работать вместе, используя сеть докеров .
Gateway API
AsAPI-шлюз, который я настоятельно рекомендую вам посмотреть Kong .Он прост в использовании, действительно хорошо работает и может решить большинство ваших проблем, даже для сложных сценариев.
Комплексные сценарии
Просто для общего обзораВ случае сложных сценариев и масштабируемости вам потребуется обнаружение службы , которое централизовало бы доступность и распределение запросов через службы.Например: при доступе к abc.example.com он может перенаправить запрос на три разных экземпляра службы (10.0.0.1, 10.0.0.2, 10.0.0.3).Хороший инструмент для работы с ним - Консул .