Благодарим ви, че изпратихте вашето запитване! Един от членовете на нашия екип ще се свърже с вас скоро.
Благодарим ви, че направихте своята резервация! Един от членовете на нашия екип ще се свърже с вас скоро.
План на курса
Ден 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
- Синтезиране и оркестрация на събития: случаи за използване и размисли при дизайна
- Общи капани, усвоени уроци и най-добрите практики
- Отворена сесия Въпроси и отговори и интерактивно отстраняване на грешки
Изисквания
Go (Go език) програмни умения, включително конкуренция (goroutines, channels)
Основни знания за софтуерна архитектура (монолити, микросървайси)
Знание на Docker и Docker Compose
Основни знания за REST API и мрежови възможности
Опит с CLI инструменти и Git
Незадължително: Опростен контакт с Kubernetes и системи за съобщения (Kafka, RabbitMQ, NATS)
Основни знания за софтуерна архитектура (монолити, микросървайси)
Знание на Docker и Docker Compose
Основни знания за REST API и мрежови възможности
Опит с CLI инструменти и Git
Незадължително: Опростен контакт с Kubernetes и системи за съобщения (Kafka, RabbitMQ, NATS)
28 Часа