Анти-HighLoad: как мы построили SaaS на 5 антипаттернах и выжили
1 декабря, 11:10, «Рио-де-Жанейро»
Мнение Программного комитета о докладе
Как четыре разработчика построили логистическую SaaS-платформу и получили распределённый монолит. Борис разберёт пять антипаттернов: общие контракты, RPC через RabbitMQ, доступ к БД и Redis через сервисы и циклические зависимости. Покажет, как локальные решения усиливают проблемы друг друга.
Целевая аудитория
Доклад будет полезен backend-разработчикам, техническим лидам, архитекторам, DevOps-инженерам, которые разрабатывают или сопровождают SaaS-продукты и распределённые системы. Особенно полезен он будет командам, которые переходят от монолита к микросервисам, сталкиваются с ростом связанности сервисов, усложнением тестирования и развёртывания либо планируют модернизацию легаси-системы.
Тезисы
Мы хотели построить микросервисную SaaS-платформу, но вместо независимо развёртываемых сервисов получили распределённый монолит. Сервисы зависели от общей библиотеки контрактов, общались посредством RPC через RabbitMQ, обращались к базе данных и Redis через специальные микросервисы и образовывали циклические зависимости. В результате систему можно было тестировать и развёртывать только целиком, а один деплой занимал больше полутора часов. На реальных примерах я разберу архитектурные и инфраструктурные решения, которые постепенно сделали систему хрупкой: глобальную библиотеку с интерфейсами и DTO всех сервисов, преобладание интеграционных тестов и централизованные фикстуры, Supervisor внутри Docker-контейнеров, логирование через RabbitMQ. Доклад поможет распознать ранние признаки распределённого монолита и отличить локально удобное техническое решение от архитектурного антипаттерна. Я покажу не только последствия ошибок, но и причинно-следственные связи между ними, расскажу, какие компоненты системы пришлось переделывать и как расставлять приоритеты при распутывании подобных зависимостей.
Спикеры

независимый эксперт


