課程簡介

第一天:Go 事件驅動架構基礎

  • EDA 簡介
    • 什麼是事件驅動架構?
    • 單體架構、Microservices 和事件驅動系統的比較
    • Go 的併發模型和輕量級 goroutines 如何使其成爲 EDA 的理想選擇
  • 核心概念與優勢
    • 企業系統中的解耦、可擴展性和彈性
    • 定義事件、生產者、消費者和事件代理
    • Go 驅動的高性能事件系統的實際案例
  • EDA 中的 CAP 定理與權衡
    • 一致性、可用性和分區容錯性概述
    • EDA 對這些屬性的影響
    • 在基於 Go 的系統中平衡一致性和可用性的策略

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

  • 理解事件類型
    • 領域事件與集成事件
    • 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 的無服務器事件驅動架構
    • 事件編排與協調:用例與設計考慮
    • 常見陷阱、經驗教訓與最佳實踐
    • 開放式問答與互動故障排除

 

最低要求

  • 精通Go(Golang),包括使用goroutines和channels
  • 對軟件架構模型(如單體架構和微服務)有基本理解
  • 熟悉Docker和Docker Compose
  • 對REST API和網絡概念有基本瞭解
  • 有命令行工具和Git的使用經驗
  • 可選但有幫助:有Kubernetes和消息系統(如Kafka、RabbitMQ或NATS)的經驗

受衆

  • 構建可擴展事件驅動應用的Go開發者
  • 從單體或REST架構過渡到異步系統的軟件工程師
  • 使用容器化或分佈式微服務的DevOps和雲工程師
  • 探索使用Go實現EDA模式的技術架構師和系統設計師
 28 時間:

人數


每位參與者的報價

客戶評論 (7)

Upcoming Courses

課程分類