Съдържание и теми, включени в курса
Ден 1: Основи на архитектурата, управлявана от събития, в Go
- Въведение в EDA
- Какво представлява архитектурата, управлявана от събития?
- Сравнение между монолитни, микросервизни и управлявани от събития системи
- Как моделът на конкурентност на Go и леките goroutines го правят идеален за EDA
- Основни концепции и предимства
- Декуплиране, мащабируемост и устойчивост в корпоративните системи
- Дефиниране на събития, производители, консуматори и брокери на събития
- Примери от реалния свят и казуси, при които Go захранва високопроизводителни системи за събития
- CAP теорема и компромиси в EDA
- Преглед на последователността, наличността и толерантността към разделяне
- Влияние на EDA върху тези свойства
- Стратегии за балансиране на последователността и наличността в Go-базирани системи
Ден 2: Събития, съобщения и комуникационни модели в Go
- Разбиране на типовете събития
- Домейн събития срещу интеграционни събития
- Синхронни срещу асинхронни събития в Go приложения
- Модели на съобщения в практиката
- Публикуване-абониране (Pub/Sub) в Go
- Как да проектирате и структурирате полезния товар на събитията, използвайки JSON, Protocol Buffers или Avro в Go
- Внедряване на обработката на събития в Go
- Преглед на популярните Go библиотеки и рамки за съобщения
- Примери с код: изпращане и обработка на събития с помощта на идиоматични Go модели
- Практическа сесия: Изграждане на проста услуга, управлявана от събития, в Go
Ден 3: Системи за съобщения и брокери на събития с Go
- Избор и интегриране на брокери на събития
- Преглед на популярните брокери: Apache Kafka, RabbitMQ и NATS
- Сравнение на случаите на употреба и най-добрите практики за Go-базирани системи
- Настройка на инфраструктурата за съобщения
- Настройка на Docker Compose за Kafka, RabbitMQ или NATS
- Конфигуриране на теми, обмени, опашки и канали
- Преглед на клиентските библиотеки за Go
- Практически семинар
- Изграждане на примерен Go микросервиз, който произвежда и консумира събития
- Интегриране на услугата с избрания брокер на събития
- Дебъгване и тестване на потоците от събития
Ден 4: Внедряване, наблюдение и напреднали теми в Go EDA
- Внедряване на Go приложения, управлявани от събития, в Kubernetes
- Контейнеризиране на Go приложения за продукция
- Внедряване на Kafka (или други брокери) в Kubernetes клъстери
- Въведение в KEDA (Kubernetes Event-Driven Autoscaling) за мащабиране на консуматорите на събития
- Обработка на грешки и наблюдение
- Справяне с неуспехите на събитията със стратегии
- Внедряване на наблюдаемост в Go услугите
- Напреднали теми и въпроси и отговори
- Изследване на безсървърни архитектури, управлявани от събития, с Go
- Хореография на събития срещу оркестрация: случаи на употреба и съображения при проектирането
- Често срещани капани, научени уроци и най-добри практики
- Открита сесия за въпроси и отговори и интерактивно отстраняване на проблеми
Изисквания
- Владеене на Go (Golang), включително използване на goroutines и канали
- Основно разбиране на моделите на софтуерна архитектура като монолити и микросервизи
- Познаване на Docker и Docker Compose
- Основни познания за REST API и мрежови концепции
- Опит с инструменти от командния ред и Git
- По избор, но полезно: предишен опит с Kubernetes и системи за съобщения като Kafka, RabbitMQ или NATS
Аудитория
- Go разработчици, изграждащи мащабируеми приложения, управлявани от събития
- Софтуерни инженери, преминаващи от монолитни или REST-базирани архитектури към асинхронни системи
- DevOps и облачни инженери, работещи с контейнеризирани или разпределени микросервизи
- Технически архитекти и системни дизайнери, изследващи EDA модели с помощта на Go
Отзиви от участници (7)
пишем някои код на GO и учим неща относно EDA като събития, кога и как.
Alin
Курс - Event Driven Architecture Custom
Машинен превод
Беше интерактивен курс, нямаше време да спим :)). Беше приятно да работя в екипи и след това да обсъждаме според всеки резултат.
Alina
Курс - Event Driven Architecture Custom
Машинен превод
Найповече ми харесаха разговорите и примерите, които ни бяха представени, така че да достигнем сами до заключенията, които той искаше да сподели с нас. Ми хареса темпото, английския език, търпението, че дори и ако не дадем най-доброто отговор, той нямаше да каже, че е грешен, а ни даваше примери за какво може да бъде по-добре.
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
Машинен превод