План на курса
Ден 1: Основни принципи на събитие-ориентираната архитектура в Go
- Введение в EDA
- Какво е събитие-ориентираната архитектура?
- Сравнение между монолитни, Microservices и събитие-ориентирани системи
- Как конкурентната модель и лекотеглите гоурутини на Go го правят идеален за EDA
- Основни концепции и предимства
- Декоплиране, масштабируемост и устойчивост в корпоративни системи
- Определяне на събития, продуценти, консументи и брокери на събития
- Реални пример и изследвания, където Go осигурява високопроизводителни събитие-ориентирани системи
- Теоремата за CAP и компромиси в EDA
- Обзор на консистентност, достъпност и толеранс на раздели
- Влияние на EDA върху тези свойства
- Стратегии за балансиране на консистентността и достъпността в системите на база Go
Ден 2: Събития, съобщения и Communication шаблони в Go
- Разбиране на типовете събития
- Събития в областта vs. Интеграционни събития
- Синхронни vs. Асинхронни събития в приложенията на 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 Автоматично масштабиране на събитие-ориентирани приложения) за масштабиране на потребителите на събития
- Обработка на грешки и мониторинг
- Обработка на грешки при събития с стратегии
- Имплементация на наблюдаемост в услугите на Go
- Напреднали теми и Въпроси и отговори
- Изучаване на безсервърни събитие-ориентирани архитектури с Go
- Събитие-ориентирана хорография vs. Оркестрация: случаи за използване и дизайнерски разсъждения
- Общи грешки, уроки и най-добри практики
- Отворен Въпроси и отговори и интерактивна диагностика
Изисквания
- Умеене в Go (Golang), включително използване на goroutines и канали
- Основно разбиране на модели на архитектура на софтуер, като монолити и микросървиси
- Знакомство с Docker и Docker Compose
- Основни познания за REST API и мрежови концепции
- Опит с командни инструменти и Git
- Опционално, но полезно: предходен опит с Kubernetes и системи за съобщения, като Kafka, RabbitMQ, или NATS
Целова публика
- Разработчици на Go, които създават масштабируеми, базирани на събития приложения
- Софтуерни инженери, преминаващи от монолитни или базирани на REST архитектури към асинхронни системи
- DevOps и облачни инженери, работещи с контейнерирани или разпределени микросървиси
- Технически архитекти и дизайнери на системи, изследващи EDA патрони с Go
Oтзиви от потребители (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
Машинен превод