План на курса
Ден 1: Основи на Архитектурата със събития (EDA) в Go
- Въведение в EDA
- Какво е Архитектурата със събития?
- Сравнение между монолитни, микросервизни и системи базирани на събития
- Защо Go-то конкуренцията и леките goroutines правят EDA идеален
- Основни концепции и предимства
- Децентрализиране, мащабируемост и устойчивост в предприятията системи
- Определяне на събития, произвеждащи компоненти, приемящите компоненти и брокери за събития
- Реални примери и кейс студии, в които Go осигурява високопроизводителни системи базирани на събития
- Теорема CAP и компромиси в EDA
- Обзор на консистентността, наличността и терпимостта към разбиране
- Влияние на EDA върху тези свойства
- Стратегии за балансиране на консистентността и наличността в системи, базирани на Go
Ден 2: Събития, съобщения и комуникационни модели в Go
- Разбиране на видовете събития
- Домейнови събития спрямо интеграционни събития
- Синхронни спрямо асинхронни събития в приложенията на Go
- Комуникационни модели на практика
- Publish-Subscribe (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 и channels
- Основно разбиране на модели за софтуерна архитектура като монолити и микросервизи
- Познаване на 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
Машинен превод