Александр Тарасов — Service Discovery: больше, чем кажется

Ближайшая конференция — JPoint 2025, 3–4 апреля (Москва + трансляция). Подробности и билеты:
— — . . . . В среду, 2 августа 2017 года, в офисе компании SEMrush состоялась встреча с Александром Тарасовым, инженером Одноклассников, специалистом по Docker, Spring Boot и прочим хипстерским штукам. Тема встречи — Service Discovery. В распределённых системах с динамической конфигурацией существует проблема корректного обнаружения работающих экземпляров сервисов. На настоящий момент существует множество инструментов для хранения динамической конфигурации системы, которые помогают в решении этой задачи. Как минимум стоит упомянуть Netflix Eureka, Consul, etcd или старый добрый Zookeper. Все они позволяют хранить конфигурацию и отслеживать жизненный цикл отдельных экземпляров приложений, а некоторые даже выступать в качестве DNS-сервера. Однако, главный вопрос всё же не в том, какой экземпляр может быть вызван в принципе, а в том, какой инстанс лучше подходит для вызова в определённый момент времени, что требует «умной» балансировки в условиях постоянно меняющейся конфигурации системы. В докладе мы разберём типовое решение проблемы на базе проекта Spring Cloud, который содержит уже готовые реализации основных паттернов для разработки распределённых приложений. Посмотрим внутреннюю реализацию таких шаблонов как Client-Side Service Discovery и Client Load Balancing с примерами и демо как из официальных библиотек, так и собственной библиотеки автора. Доклад не связан с инженерными решениями в Одноклассниках и базируется на проектах и библиотеках с открытым исходным кодом, личном опыте автора по их использованию или созданию.

Смотрите также