Визуальное проектирование масштабируемых приложений (TechLead-2021)
Выступление на TeachLeadConf 30.06-01.07.21 Доклад на сайте конференции Видео доклада
Кажется, что задачи масштабирования в микросервисной архитектуре решаются просто: поднимаем нужное количество сервисов, и оно работает, что тут проектировать. На самом деле есть много подводных камней, связанных с возможными блокировками, сбалансированностью нагрузки между разными сервисами для быстрой обработки сообщений, устойчивостью работы при падении экземпляров сервисов. А еще надо обеспечить приемлемую скорость ответа для пользователя, который, быть может, именно сейчас с нетерпением ждет, когда, наконец, можно будет оплатить заказ и думает, не пойти ли ему за заказом на соседний сайт, раз уж тут так все медленно.
Классические диаграммы, UML и другие, придуманные в эпоху монолитов, не слишком хорошо позволяют обсуждать архитектуру работы множества сервисов с асинхронным взаимодействием. Я расскажу о модели, которая позволяет рисовать схемы современных приложений и обсуждать их масштабирование и устойчивость работы при отказах. И проиллюстрирую ее использование конкретными примерами. Визуализация сильно помогает в проектировании и коммуникации, а также в объяснении работы приложения.
Доклад продолжает серию, начатую осенью на на AnalystDays (09-10.10) и продолженную на SQAdays (06-07.11) и на ArchDays (20.11), с учетом весенних мастер-классов по этой же теме на SQAdays 16-17.04, на AnalystDays и на ЛАФ 19-20.06.
Видео
Презентация
Скачать весь pdf