План на курса

Ден 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)
 
 28 Часа

Брой участници


Цена за участник

Oтзиви от потребители (7)

Предстоящи Курсове

Свързани Kатегории