План на курса
Ден 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
Машинен превод
На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
Машинен превод