Свържете се с нас

Съдържание и теми, включени в курса

Ден 1: Основи на управляваната от събития архитектура в Go

  • Въведение в EDA
    • Какво представлява управляваната от събития архитектура?
    • Сравнение на монолитни, микросервизни и управлявани от събития системи
    • Защо моделът на паралелност на Go и леките goroutines го правят идеален за EDA
  • Основни концепции и предимства
    • Разделяне на компонентите (decoupling), мащабируемост и устойчивост в корпоративни системи
    • Дефиниране на понятията: събития, производители, потребители и брокери на събития
    • Примери от реалния свят и казуси, при които Go задвижва високопроизводителни системи, базирани на събития
  • CAP теорема и компромиси в EDA
    • Преглед на консистентност (Consistency), наличност (Availability) и устойчивост на разделяне (Partition Tolerance)
    • Влияние на EDA върху тези свойства
    • Стратегии за балансиране на консистентност и наличност в Go-базирани системи

Ден 2: Събития, съобщения и комуникационни модели в Go

  • Разбиране на типовете събития
    • Домейн събития срещу интеграционни събития
    • Синхронни срещу асинхронни събития в Go приложения
  • Модели на съобщения в практиката
    • Публикуване-абониране (Pub/Sub) в Go
    • Как да проектираме и структурираме полезния товар (payload) на събития с JSON, Protocol Buffers или Avro в Go
  • Имплементиране на обработка на събития в Go
    • Преглед на популярни Go библиотеки и рамки за съобщения
    • Примери с код: изпращане и обработка на събития чрез идиоматични Go модели
    • Практическа сесия: Изграждане на проста услуга, управлявана от събития, в Go

Ден 3: Системи за съобщения и брокери на събития с Go

  • Избор и интеграция на брокери на събития
    • Преглед на популярни брокери: Apache Kafka, RabbitMQ и NATS
    • Сравнение на случаи на употреба и най-добри практики за Go-базирани системи
  • Настройка на инфраструктура за съобщения
    • Настройка с Docker Compose за Kafka, RabbitMQ или NATS
    • Конфигуриране на теми (topics), обмени (exchanges), опашки (queues) и канали (channels)
    • Преглед на Go клиентски библиотеки
  • Практически семинар
    • Изграждане на примерен Go микросервиз, който произвежда и консумира събития
    • Интегриране на услугата с избрания брокер на събития
    • Дебъгване и тестване на потоци от събития

Ден 4: Внедряване, мониторинг и напреднали теми в Go EDA

  • Внедряване на управлявани от събития Go приложения в Kubernetes
    • Контейнеризиране на Go приложения за продукционна среда
    • Внедряване на Kafka (или други брокери) върху Kubernetes клъстери
    • Въведение в KEDA (Kubernetes Event-Driven Autoscaling) за скалиране на потребители на събития
  • Обработка на грешки и мониторинг
    • Справяне с неуспехи при събития чрез стратегии
    • Имплементиране на наблюдаемост в Go услуги
  • Напреднали теми и въпроси и отговори
    • Изследване на безсървърни (Serverless) управлявани от събития архитектури с Go
    • Хореография на събития (Event Choreography) срещу оркестрация (Orchestration): Случаи на употреба и проектни съображения
    • Често срещани клопки, научени уроци и най-добри практики
    • Отворена сесия за въпроси и отговори и интерактивно отстраняване на проблеми

Изисквания

  • Умения за работа с Go (Golang), включително използване на goroutines и channels
  • Основно разбиране за софтуерни архитектурни модели като монолити и микросервизи
  • Познания за Docker и Docker Compose
  • Основни познания за REST API и мрежови концепции
  • Опит с инструменти за команден ред и Git
  • По избор, но е от полза: предишен опит с Kubernetes и системи за съобщения като Kafka, RabbitMQ или NATS

Аудитория

  • Go разработчици, изграждащи мащабируеми, управлявани от събития приложения
  • Софтуерни инженери, преминаващи от монолитни или REST-базирани архитектури към асинхронни системи
  • DevOps и cloud инженери, работещи с контейнеризирани или разпределени микросервизи
  • Технически архитекти и системни дизайнери, изследващи EDA модели с помощта на Go
 28 Часа

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


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

Отзиви от участници (7)

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

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