План на курса

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

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


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

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

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

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