компанії, які йдуть від монолітної архітектури до сервісної і мікросервісної, часто зазнають поразки — отримують такий же Моноліт, тільки розбитий по декількох репозиторіях.
Проблема зазвичай в невдалих способах взаємодії систем між собою. Якщо ходити один в одного по HTTP API — виходить розподілений Моноліт. Якщо ходити асинхронно-доводиться вирішувати купу проблем з цілісністю даних.
ми розповімо, як уникнути цих проблем.
CTO і програміст
Зробимо повноцінний проект-систему для великої компанії на event-driven архітектурі за принципами DDD.
Будемо не тільки малювати купу квадратиків в LucidChart, але і писати код. Автори-на Ruby, ви-на чому завгодно. Завдання-створити систему інвентаризації обладнання для великої компанії.
Основні вимоги: стан товарів, статус ремонту, authn і authz, аудитлог, інтеграція з монолітом. Використовуємо Kafka, Event Streaming, Schema Registry. Згадаємо про CQRS і SAGA.
Підійде всім, хто цікавиться архітектурою по
Досить читати на будь-якій мові програмування, знати хоча б один популярний MVC-фреймворк і розуміти, для чого потрібні RabbitMQ/Kafka.
інтро
Урок 1. Розбираємо, в чому різниця між розподіленим монолітом і асинхронною системою.
проектування
Урок 2. Event Storming-перетворюємо вимоги в модель даних і процеси.
Урок 3. Переходимо від процесів і моделі даних в сервіси і комунікації.
імплементація
Урок 4. Аутентифікація і авторизація: вибираємо між jwt, токенами, SAML і oauth.
Урок 5. Пишемо перший сервіс: події, data streming. Вибираємо брокер повідомлень.
розвиток
Урок 6. Вчимося тестувати і підтримувати асинхронні системи : еволюція подій, schema registry.
Урок 7. Робимо нотифікації та аналітику на основі стрімінгу даних.
Урок 8. Розбираємося, на що звертати увагу, куди дивитися і що робити в майбутньому.
Урок 1. Розбираємо, в чому різниця між розподіленим монолітом і асинхронною системою.
проектування
Урок 2. Event Storming-перетворюємо вимоги в модель даних і процеси.
Урок 3. Переходимо від процесів і моделі даних в сервіси і комунікації.
імплементація
Урок 4. Аутентифікація і авторизація: вибираємо між jwt, токенами, SAML і oauth.
Урок 5. Пишемо перший сервіс: події, data streming. Вибираємо брокер повідомлень.
розвиток
Урок 6. Вчимося тестувати і підтримувати асинхронні системи : еволюція подій, schema registry.
Урок 7. Робимо нотифікації та аналітику на основі стрімінгу даних.
Урок 8. Розбираємося, на що звертати увагу, куди дивитися і що робити в майбутньому.
https://privatelink.de/?https://education.borshev.com/architecture