План на курса
Ден 1: Основи на архитектурата със събития в Go
- Въведение в EDA
- Какво е архитектура със събития?
- Сравнение между монолитни, Microservices, и системи със събития
- Как модела за паралелна работа на Go и леките горутини го правят идеален за EDA
- Основни концепции и предимства
- Децентрализация, масштабируемост и устойчивост в предприемаческите системи
- Определение на събития, производители, потребителки и брокери на събития
- Реални примери и случаи, когато Go поддържа високопроизводителни системи със събития
- CAP теорема и компромиси в EDA
- Преглед на консистентност, достъпност и толерантност към разделяне
- Влияние на EDA върху тези свойства
- Стратегии за балансиране между консистентност и достъпност в системите, основани на Go
Ден 2: Събития, съобщения и шаблони за Communication в Go
- Разбиране на типовете събития
- Домейнови събития против интеграционни събития
- Синхронни и асинхронни събития в приложенията на Go
- Шаблони за съобщения в практика
- Издаване-подписване (Pub/Sub) в Go
- Как да проектирате и структурирате телата на събитията, използвайки JSON, Protocol Buffers или Avro в Go
- Реализация на обработката на събития в Go
- Преглед на популярните библиотеки и фреймворки за съобщения в Go
- Примери от код: разпределяне и обработване на събития с използването на типични шаблони на Go
- Практическа сесия: Изграждане на просто приложение с архитектура със събития в Go
Ден 3: Системи за съобщения и брокери на събития с Go
- Избор и интеграция на брокери на събития
- Преглед на популярните брокери: Apache Kafka, RabbitMQ и NATS
- Сравнение между случаи за използване и най-добрите практики за системи, основани на Go
- Настройка на инфраструктурата за съобщения
- Docker композитна конфигурация за Kafka, RabbitMQ, или NATS
- Конфигуриране на теми, обменни места, опашки и канали
- Преглед на клиентските библиотеки на Go
- Практическа върху работна сесия
- Изграждане на примерен микросервис на Go, който произвежда и консумира събития
- Интеграция на услугата с избрания брокер на събития
- Отстраняване на грешки и тестиране на потоците от събития
Ден 4: Разпространение, мониторинг и напреднали теми в Go EDA
- Разпространяване на приложенията с архитектура със събития на Kubernetes
- Контейнеризация на приложенията на Go за производствена среда
- Разпространяване на Kafka (или други брокери) в кластерите на Kubernetes
- Въведение в KEDA (Kubernetes Event-Driven Autoscaling) за масштабиране на потребителки на събития
- Обработка на грешки и мониторинг
- Обработка на провали на събития с стратегии
- Реализация на наблюдаемост в услугите на Go
- Напреднали теми и Въпроси и отговори
- Изследване на безсървърни архитектури с архитектура със събития с Go
- Синтезиране и оркестрация на събития: случаи за използване и размисли при дизайна
- Общи капани, усвоени уроци и най-добрите практики
- Отворена сесия Въпроси и отговори и интерактивно отстраняване на грешки
Изисквания
Основни знания за софтуерна архитектура (монолити, микросървайси)
Знание на Docker и Docker Compose
Основни знания за REST API и мрежови възможности
Опит с CLI инструменти и Git
Незадължително: Опростен контакт с Kubernetes и системи за съобщения (Kafka, RabbitMQ, NATS)
Oтзиви от потребители (7)
пишем някакъв код на GO и учене неща относно EDA като събития, кога и как.
Alin
Курс - Event Driven Architecture Custom
Машинен превод
Това беше интерактивен курс, нямаше време за сън :)). Беше приятно да работим в екипи и после да дебатираме според всеки резултат.
Alina
Курс - Event Driven Architecture Custom
Машинен превод
Наenjoyed most the discussions and the examples provided so we could reach by ourselves to the conclusions he wanted to share with us. Наенjoyed темпот, английския език, търпението му, че дори когато не сме донесли най-добрата отговор, той не ни каза, че е грешен, а донесе примери за какво би могло да е по-добре.
Simona
Курс - Event Driven Architecture Custom
Машинен превод
Отворените дискусии и преминаването от разбирането на проблемите/причините ( заявката `защо`) до `EDA`.
Constantin
Курс - Event Driven Architecture Custom
Машинен превод
подхода за представяне на нещата, основаващи се тежко на интеракция и примери
Virgil
Курс - Event Driven Architecture Custom
Машинен превод
Интерактивната природа на курса Подхода за самонаучаване, където намирате отговорите сами Практическата фокусираност с реални примери, които правят концепциите по-свързани с живота
Roxana Sandu
Курс - Event Driven Architecture Custom
Машинен превод
Очень интерактивно. Треньорът беше много компетентен и терпелив.
Robert
Курс - Event Driven Architecture Custom
Машинен превод