Оптимизация конкурентных приложений: паттерны, сравнение и микроархитектура

Ноу-хау

GO

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Конкурентность из коробки — одно из базовых преимуществ Go, однако практический результат применения зависит от умения ее готовить. В докладе речь пойдет о принципах эффективного применения паттернов конкурентности и построения надежно работающих решений, использующих конкурентность.

Целевая аудитория

Доклад будет особенно полезен разработчикам, которые активно используют конкурентность в своих проектах и стремятся к более глубокому пониманию микроархитектуры взаимодействия в Golang. Участники получат ценные знания о том, как структурировать конкурентные паттерны и создавать на их основе эффективные микроархитектуры приложений.

Тезисы

Конкурентность в Go открывает широкие возможности, но также и представляет риск «выстрелить себе в ногу» — от обращения горутин к одним и тем же данным до проблем с work-stealing. В этом докладе мы рассмотрим, как дополнить и расширить идеи из выступления Роба Пайка по конкурентности в Go.

Я представлю четкий алгоритм построения конкурентных приложений, который поможет вам справиться с проблемами производительности и создавать эффективные высоконагруженные системы. Мы проведем сравнительный анализ различных подходов к решению задач с точки зрения производительности и покажем, как на основе этих решений можно создать оптимальную микроархитектуру для разных типов приложений.

Что вы получите на выходе?
* Четкий алгоритм построения конкурентных приложений в Go.
* Понимание, как выбирать правильные паттерны конкурентности в зависимости от задачи.
* Практические советы по избеганию распространенных ошибок при разработке конкурентных систем.

Разработчик с многолетним опытом. 4 последних года в качестве основного языка использует Golang. В VK Tech работает над высоконагруженной почтой для бизнеса в команде VK WorkSpace.

VK, VK Tech

VK Tech — команда из 1400 специалистов в России и Казахстане. Разрабатывают и продвигают облачные платформы и сервисы VK Cloud, in-memory СУБД Tarantool, коммуникационные решения —от почты VK WorkSpace до супераппа VK Teams и решения для автоматизации HR и финансов. Внутри: C++, Python, Go, Java, Javascript, Lua. VK — это более 200 технологичных и высоконагруженных проектов, свыше 15 000 сотрудников. ВКонтакте, ОК, VK Cloud, Дзен, Маруся, VK Play — это лишь часть продуктов VK, которыми ежедневно пользуются миллионы людей.

Видео

Подготовительное задание
Рекомендуется ознакомиться с материалами Роба Пайка по конкурентности в Go, которые послужат отправной точкой для нашего обсуждения.