课程大纲
第一天:Go 事件驱动架构基础
- EDA 简介
- 什么是事件驱动架构?
- 比较单体架构、Microservices 和事件驱动系统
- Go 的并发模型和轻量级 goroutine 如何使其成为 EDA 的理想选择
- 核心概念与优势
- 企业系统中的解耦、可扩展性和弹性
- 定义事件、生产者、消费者和事件代理
- Go 驱动高性能事件系统的实际案例
- CAP 定理与 EDA 中的权衡
- 一致性、可用性和分区容错性概述
- EDA 对这些特性的影响
- 在基于 Go 的系统中平衡一致性和可用性的策略
第二天:Go 中的事件、消息和 Communication 模式
- 理解事件类型
- 领域事件 vs. 集成事件
- Go 应用中的同步与异步事件
- 实践中的消息模式
- Go 中的发布-订阅(Pub/Sub)模式
- 如何使用 JSON、Protocol Buffers 或 Avro 在 Go 中设计和构建事件负载
- 在 Go 中实现事件处理
- 流行的 Go 消息库和框架概述
- 代码示例:使用惯用的 Go 模式分发和处理事件
- 实践环节:在 Go 中构建一个简单的事件驱动服务
第三天:Go 中的消息系统与事件代理
- 选择与集成事件代理
- 流行代理概述:Apache Kafka、RabbitMQ 和 NATS
- 基于 Go 的系统的用例比较与最佳实践
- 设置消息基础设施
- Docker Compose 设置 Kafka、RabbitMQ 或 NATS
- 配置主题、交换器、队列和通道
- Go 客户端库概述
- 实践工作坊
- 构建一个示例 Go 微服务,用于生产和消费事件
- 将服务与选定的事件代理集成
- 调试和测试事件流
第四天:Go EDA 中的部署、监控与高级主题
- 在 Kubernetes 上部署 Go 事件驱动应用
- 为生产环境容器化 Go 应用
- 在 Kubernetes 集群上部署 Kafka(或其他代理)
- KEDA(Kubernetes 事件驱动自动扩展)简介,用于扩展事件消费者
- 错误处理与监控
- 处理事件失败的策略
- 在 Go 服务中实现可观察性
- 高级主题与问答
- 探索使用 Go 的无服务器事件驱动架构
- 事件编排 vs. 编排:用例与设计考虑
- 常见陷阱、经验教训与最佳实践
- 开放式问答环节与互动式故障排除
要求
对软件架构的基本理解(单体架构、微服务)
熟悉 Docker 和 Docker Compose
具备 REST API 和网络的基础知识
有使用 CLI 工具和 Git 的经验
可选: 接触过 Kubernetes 和消息系统(Kafka、RabbitMQ、NATS)
客户评论 (7)
我们会用GO语言编写一些代码,并学习有关EDA的内容,例如事件、何时以及如何处理。
Alin
课程 - Event Driven Architecture Custom
机器翻译
这是一个互动式课程,没有时间睡觉:))。此外,团队合作并根据每个结果进行辩论也很有趣。
Alina
课程 - Event Driven Architecture Custom
机器翻译
我最喜欢的是讨论和提供的范例,这样我们可以自己得出他想要分享的结论。我喜欢他的节奏、英语表达、耐心,即使我们没有给出最好的答案,他也不会说那是错的,而是会提供一些可以改进的范例。
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
机器翻译