聯繫我們

課程簡介

第一日: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 系統的用例與最佳實務比較
  • 設定訊息基礎設施
    • 使用 Docker Compose 設定 Kafka、RabbitMQ 或 NATS
    • 配置主題、交換機、佇列與通道
    • Go 客戶端庫概覽
  • 實作工作坊
    • 構建樣本 Go 微服務以生產和消費事件
    • 將服務與選定的事件中介者整合
    • 調試與測試事件流程

第四日:Go EDA 的部署、監控與進階主題

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

最低要求

  • 精通 Go (Golang),包括對協程 (goroutines) 和通道 (channels) 的使用
  • 對軟體架構模型(如單體架構和微服務架構)具備基本理解
  • 熟悉 Docker 和 Docker Compose
  • 具備 REST API 和網絡概念的基礎知識
  • 有使用命令列工具和 Git 的經驗
  • 建議但不強制要求:曾接觸過 Kubernetes 及 Kafka、RabbitMQ 或 NATS 等訊息系統

目標受眾

  • 構建可擴展、驅動事件應用程式的 Go 開發人員
  • 希望從單體或 REST 基於架構過渡到非同步系統的軟體工程師
  • 處理容器化或分散式微服務的 DevOps 及雲端工程師
  • 探索使用 Go 的 EDA 模式的技术架構師與系統設計師
 28 小時

客戶評論 (7)

課程分類