Drim Dev
386 subscribers
19 photos
49 links
Канал о деятельности компании Drim Dev и об ИТ-индустрии в целом. Ведёт Дмитрий Мельник.

Аккаунт для связи @mitro52.

Сайт https://drim.dev/
Download Telegram
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
🔥171👍1