Drim Dev
Привет! Мы в чате Тимлидов (@teamleads_kz) по итогу обсуждения сложностей проектирования высоконагруженных систем, пришли к выводу что в Казахстане есть потенциальный запрос на проведение образовательного Хакатона на эту тему. Мы готовы взять на себя полностью…
В апреле мы анонсировали проведение хакатона HackLoad 2025 по проектированию высоконагруженного билетного сервиса. Вот страница хакатона https://hackload.kz/, там описаны все детали. Уже определены конкретные даты - с 15 по 17 августа. Регистрация будет проходить с 1 по 25 июля. Команды могут участвовать как офлайн в Алматы, так и онлайн. Команда организаторов состоит из 4 человек - Станислава Беляева, Андрея Курдюмова, Теймура Шайкемелова и меня (Дмитрия Мельника).
Одна из целей проведения хакатона - образовательная. Поэтому перед мероприятием я проведу цикл лекций на тему проектирования надёжных и производительных систем. Они пройдут онлайн в конце июля и начале августа. Точные даты я напишу позже.
Лекции будут напрямую применимы к задаче проектирования билетного сервиса. То есть на каждой лекции предлагаемые технологии и подходы будут демонстрироваться на тех или иных частях билетного сервиса. Вот темы:
1. Паттерн «Сага» для распределенных транзакций
Кратко сравним монолит и микросервисы. Разберём паттерн «Сага» для обеспечения целостности данных в микросервисах (заказ, оплата, резервирование места). В основу положим классификацию саг из книги "Software Architecture: The Hard Parts": Epic Saga, Phone Tag Saga, Fairy Tale Saga, Time Travel Saga, Fantasy Fiction Saga, Horror Story, Parallel Saga, Anthology Saga.
2. Масштабирование под высокую нагрузку
Проектирование систем для пиковых нагрузок в момент старта продаж. Разберем вертикальное масштабирование, горизонтальное масштабирование, балансировщики нагрузки и методы оптимизации баз данных (индексы, read-реплики, шардирование), чтобы сервис не «упал» от наплыва пользователей. Также коснемся ускорения системы с помощью кеширования (Redis) и CDN.
3. Организация конкурентного доступа
Научимся решать главную проблему билетных сервисов — как избежать «двойной продажи» одного и того же места. Изучим на практике разные виды конкурентности (оптимистичная и пессимистичная на уровне БД и на уровне приложения) и использование очередей для надежной обработки заказов.
4. Создание отказоустойчивых систем
Научимся обеспечивать стабильность сервиса при внутренних сбоях и при сбоях внешних API (например, API стадиона). Разберем паттерны Timeouts, Retries, Bulkhead, Circuit Breaker и другие.
5. Интеграция платежных провайдеров
Практический разбор процесса приема платежей. Рассмотрим, как работают платежные шлюзы, сравним способы интеграции (редирект, iframe) и научимся обрабатывать подтверждения об оплате через вебхуки.
Лекции будут открытыми, то есть участвовать могут все желающие. Форму регистрации и даты проведения я укажу позже. Рекомендую принять участие, это улучшит ваши навыки проектирования и системного дизайна.
Все новости хакатона и сопутствующих мероприятий я продолжу публиковать в этом канале. Подписывайтесь на него, будет полезно и интересно 🚀 @drimdev
#hackload #architecture #lectures
Одна из целей проведения хакатона - образовательная. Поэтому перед мероприятием я проведу цикл лекций на тему проектирования надёжных и производительных систем. Они пройдут онлайн в конце июля и начале августа. Точные даты я напишу позже.
Лекции будут напрямую применимы к задаче проектирования билетного сервиса. То есть на каждой лекции предлагаемые технологии и подходы будут демонстрироваться на тех или иных частях билетного сервиса. Вот темы:
1. Паттерн «Сага» для распределенных транзакций
Кратко сравним монолит и микросервисы. Разберём паттерн «Сага» для обеспечения целостности данных в микросервисах (заказ, оплата, резервирование места). В основу положим классификацию саг из книги "Software Architecture: The Hard Parts": Epic Saga, Phone Tag Saga, Fairy Tale Saga, Time Travel Saga, Fantasy Fiction Saga, Horror Story, Parallel Saga, Anthology Saga.
2. Масштабирование под высокую нагрузку
Проектирование систем для пиковых нагрузок в момент старта продаж. Разберем вертикальное масштабирование, горизонтальное масштабирование, балансировщики нагрузки и методы оптимизации баз данных (индексы, read-реплики, шардирование), чтобы сервис не «упал» от наплыва пользователей. Также коснемся ускорения системы с помощью кеширования (Redis) и CDN.
3. Организация конкурентного доступа
Научимся решать главную проблему билетных сервисов — как избежать «двойной продажи» одного и того же места. Изучим на практике разные виды конкурентности (оптимистичная и пессимистичная на уровне БД и на уровне приложения) и использование очередей для надежной обработки заказов.
4. Создание отказоустойчивых систем
Научимся обеспечивать стабильность сервиса при внутренних сбоях и при сбоях внешних API (например, API стадиона). Разберем паттерны Timeouts, Retries, Bulkhead, Circuit Breaker и другие.
5. Интеграция платежных провайдеров
Практический разбор процесса приема платежей. Рассмотрим, как работают платежные шлюзы, сравним способы интеграции (редирект, iframe) и научимся обрабатывать подтверждения об оплате через вебхуки.
Лекции будут открытыми, то есть участвовать могут все желающие. Форму регистрации и даты проведения я укажу позже. Рекомендую принять участие, это улучшит ваши навыки проектирования и системного дизайна.
Все новости хакатона и сопутствующих мероприятий я продолжу публиковать в этом канале. Подписывайтесь на него, будет полезно и интересно 🚀 @drimdev
#hackload #architecture #lectures
🔥17❤1👍1