Мы перешли на микры и все было хорошо пока не стали запускать реплики микров
Выручающий Саша:
А в чем проблема?
ПРоблемная Маша:
Прописала в одном микре адрес другого и дергала по фейн клиенту, а потом запустила реплику второго микра, а он без дела крутиться, как сделать чтобы первый балансировал запросы между репликами второго микра
Выручающий Саша:
Нужен discovery server, выбери подходящую реализацию этого паттерна и он будет всем рассказывать про реплики твоего микра
Проблема
Как клиент сервиса узнает адрес экземпляра сервиса? Учитывая, что адреса могут динамично меняться и плюс к этому могут динамично добавляться и удаляться реплики сервиса.
Решение
Сделать реестр сервисов.
При старте каждый сервис будет регистрироваться в данном реестре. И каждый сервис будет получать информацию о доступных сервисах из данного реестра.
Discovery на стороне клиента
Discovery на стороне клиента
Реализации паттерна Discovery
Преимущества Client-side discovery
Меньше нагрузка на сеть по сравнению с обнаружением на стороне сервера
Нет завязки на маршрутизатор
Недостатки Client-side discovery
Есть связь сервиса и реестра
Нужна логика обнаружения сервиса на стороне клиента