聯繫我們

課程簡介

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

  • EDA 簡介
    • 什麼是事件驅動架構?
    • 比較單體、微服務與事件驅動系統
    • Go 的併發模型及輕量級協程如何使其成為 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
    • 配置主題(topics)、交換器(exchanges)、隊列與通道
    • Go 客戶端庫概述
  • 實作工作坊
    • 構建一個產生和消費事件的 Go 微服務樣本
    • 將該服務集成至選定的事件代理
    • 調試與測試事件流

第四天:在 Go EDA 中部署、監控及進階主題

  • 在 Kubernetes 上部署 Go 事件驅動應用程序
    • 為生產環境容器化 Go 應用程序
    • 在 Kubernetes 叢集上部署 Kafka(或其他代理)
    • KEDA(Kubernetes Event-Driven Autoscaling)簡介,用於擴展事件消費者
  • 錯誤處理與監控
    • 使用策略處理事件失敗
    • 在 Go 服務中實現可觀察性
  • 進階主題與問答環節
    • 探索基於 Go 的服務端事件驅動架構
    • 事件協調(Choreography)與編排(Orchestration):使用情境與設計考量
    • 常見陷阱、經驗教訓與最佳實踐
    • 開放問答環節與互動式問題排查

最低要求

  • 精通 Go (Golang),包括使用協程(goroutines)和通道(channels)。
  • 對軟體架構模型(如單體架構和微服務)有基本理解。
  • 熟悉 Docker 和 Docker Compose。
  • 具備 REST API 和網路概念的基礎知識。
  • 擁有命令列工具和 Git 的使用經驗。
  • 選修但有所助益:先前曾接觸 Kubernetes 及 Kafka、RabbitMQ 或 NATS 等消息傳遞系統。

受眾對象

  • 構建可擴展事件驅動應用程序的 Go 開發人員。
  • 從單體或基於 REST 的架構轉型至非同步系統軟體工程師。
  • 從事容器化或分散式微服務工作的 DevOps 和雲端工程師。
  • 探索使用 Go 實現 EDA 模式的技術架構師和系統設計師。
 28 小時

人數


每位參與者的報價

客戶評論 (7)

即將到來的課程

課程分類