gRPC client-side load balancing — зачем, что, как и WTF?

 /  RU /

В этот раз мы поговорим о популярной технологии организации взаимодействия — gRPC. Дмитрий расскажет об основных её особенностях и способах использования, уделив основное внимание вопросу балансировки нагрузки. Обычно для этой задачи используют дополнительные компоненты — nginx, envoy, istio и т.д., но в некоторых случаях добавление дополнительных элементов в систему нежелательно. Тем более, что Java-реализация gRPC способна на многое и сама, но заставить её работать не так просто...

Чтобы разобраться, как активировать нужный функционал, открытых мануалов катастрофически не хватает. Для выяснения истины мы с вами залезем поглубже в Java-код GRPC, разберемся в том, как оно задумывалось авторами и попробуем понять, как с этим жить дальше.


Спикер(ы)

Дмитрий Бугайченко
Дмитрий Бугайченко
Сбер

Окончил Санкт-Петербургский государственный университет в 2004 году, там же защитил кандидатскую по формально-логическим методам в 2007. Почти 9 лет проработал в аутсорсинге, не теряя контакта с университетом и научной средой. Анализ больших данных в Одноклассниках стал для Дмитрия уникальным шансом совместить теоретическую подготовку и научный фундамент с разработкой реальных, востребованных продуктов. И этим шансом он с радостью воспользовался, придя туда пять лет назад. С 2019-го года присоединился к дружной команде Сбербанка.