聯繫我們
 課程時長 28 時間:

課程簡介

第一天:Go 事件驱动架构基础

  • EDA 简介
    • 什么是事件驱动架构?
    • 比较单体、微服务和事件驱动系统
    • Go 的并发模型和轻量级 goroutine 为何使其非常适合 EDA
  • 核心概念与优势
    • 企业系统中的解耦、可扩展性和弹性
    • 定义事件、生产者、消费者和事件代理
    • Go 驱动高性能事件系统的真实案例和案例研究
  • CAP 定理与 EDA 中的权衡
    • 一致性、可用性和分区容错性概述
    • EDA 对这些特性的影响
    • 在基于 Go 的系统中平衡一致性和可用性的策略

第二天:Go 中的事件、消息和通信模式

  • 理解事件类型
    • 领域事件与集成事件
    • Go 应用中的同步与异步事件
  • 实践中的消息模式
    • Go 中的发布-订阅(Pub/Sub)
    • 如何在 Go 中使用 JSON、Protocol Buffers 或 Avro 设计和构建事件负载
  • 在 Go 中实现事件处理
    • 常用 Go 消息库和框架概览
    • 代码示例:使用惯用 Go 模式分发和处理事件
    • 动手环节:在 Go 中构建一个简单的事件驱动服务

第三天:Go 的消息系统和事件代理

  • 选择并集成事件代理
    • 常用代理概览:Apache Kafka、RabbitMQ 和 NATS
    • 基于 Go 的系统的用例和最佳实践对比
  • 搭建消息基础设施
    • 为 Kafka、RabbitMQ 或 NATS 设置 Docker Compose
    • 配置主题、交换机、队列和通道
    • Go 客户端库概览
  • 动手工作坊
    • 构建一个生产和消费事件的 Go 微服务示例
    • 将服务与所选事件代理集成
    • 调试和测试事件流

第四天:Go EDA 的部署、监控和高级主题

  • 在 Kubernetes 上部署 Go 事件驱动应用
    • 为生产环境容器化 Go 应用
    • 在 Kubernetes 集群上部署 Kafka(或其他代理)
    • KEDA(Kubernetes 事件驱动自动扩缩容)简介,用于扩展事件消费者
  • 错误处理与监控
    • 使用策略处理事件失败
    • 在 Go 服务中实现可观测性
  • 高级主题与问答
    • 探索使用 Go 的无服务器事件驱动架构
    • 事件编排与编制:用例和设计考量
    • 常见陷阱、经验教训和最佳实践
    • 开放式问答环节和互动式问题排查

最低要求

  • 熟练掌握 Go(Golang),包括使用 goroutine 和 channel
  • 基本了解单体架构和微服务等软件架构模型
  • 熟悉 Docker 和 Docker Compose
  • 具备 REST API 和网络概念的基础知识
  • 有命令行工具和 Git 的使用经验
  • 可选但有助于学习:之前接触过 Kubernetes 以及 Kafka、RabbitMQ 或 NATS 等消息系统

目标受众

  • 构建可扩展、事件驱动应用的 Go 开发人员
  • 从单体或基于 REST 的架构转向异步系统的软件工程师
  • 使用容器化或分布式微服务的 DevOps 和云工程师
  • 正在探索 Go 事件驱动架构模式的技术架构师和系统设计人员

人數


每位參與者的報價

客戶評論 (7)

即將到來的課程

課程分類