В настоящий момент Александр работает инженером в Одноклассниках.
Имеет за плечами более 11-ти лет разработки, в основном на Java в её энтерпрайзной вариации. Проектировал и внедрял микросервисную архитектуру. Общается на «ты» с различными модными и молодёжными технологиями, такими как Docker или Spring Boot и Spring Cloud. В свободное время поддерживает несколько open-source проектов на github-е и ведёт собственный блог.
Фанат экстремального программирования, открытого программного обеспечения и прочей хипстоты в нашем инженерном деле.
В распределённых системах с динамической конфигурацией существует проблема корректного обнаружения работающих экземпляров сервисов и балансировки запросов между ними. Основной вопрос даже же не в том, какой экземпляр может быть вызван в принципе, а в том, какой инстанс лучше подходит для вызова в определённый момент времени, что требует «умной» балансировки в условиях постоянно меняющейся конфигурации системы.
В докладе мы разберём типовое решение проблемы на базе проекта Spring Cloud, который содержит уже готовые реализации основных паттернов для разработки распределённых приложений. Посмотрим внутреннюю реализацию клиентской балансировки запросов с примерами и демо как из официальных библиотек, так и собственной библиотеки автора.
* Доклад не связан с инженерными решениями в Одноклассниках и базируется на проектах и библиотеках с открытым исходным кодом, личном опыте автора по их использованию или созданию.