聯繫我們

課程簡介

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

  • EDA簡介
    • 什麼是事件驅動架構?
    • 比較單體式、微服務和事件驅動系統。
    • Go的併發模型和輕量級goroutines如何使其成為EDA的理想選擇。
  • 核心概念與優勢
    • 企業系統中的解耦、可擴展性和韌性。
    • 定義事件、生產者、消費者和事件代理(Brokers)。
    • Go如何驅動高性能事件系統的真實案例與研究。
  • EDA中的CAP定理與取捨
    • 一致性、可用性和分區容忍性的概述。
    • 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。
    • 配置topics、exchanges、queues和channels。
    • 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)

課程分類