コース概要
Day 1: Goでのイベント駆動アーキテクチャの基礎
- EDAの概要
- イベント駆動アーキテクチャとは何か?
- モノリス型、マイクロサービス、イベント駆動システムの比較
- Goの並行処理モデルと軽量なgoroutinesがEDAに適している理由
- 核心概念と利点
- エンタープライズシステムにおける疎結合、スケーラビリティ、堅牢性
- イベント、プロデューサー、コンシューマー、イベントブローカーの定義
- Goが高パフォーマンスなイベントシステムを支える実際の例と事例研究
- CAP定理とEDAでのトレードオフ
- 一貫性、可用性、パーティション耐性の概要
- EDAがこれらの特性に与える影響
- Goベースシステムで一貫性と可用性をバランスさせる戦略
Day 2: Goでのイベント、メッセージ、通信パターン
- イベントの種類の理解
- ドメインイベントと統合イベント
- Goアプリケーションにおける同期イベントと非同期イベント
- 実践的なメッセージングパターン
- Goでのパブリッシュ-サブスクライブ(Pub/Sub)
- JSON、Protocol Buffers、Avroを使用してイベントペイロードを設計し構造化する方法
- Goでのイベント処理の実装
- メッセージング用の人気Goライブラリとフレームワークの概要
- コード例:Goの慣用的なパターンを使用してイベントをディスパッチし処理する
- 実践セッション:シンプルなイベント駆動サービスをGoで構築する
Day 3: Goでのメッセージングシステムとイベントブローカー
- イベントブローカーの選択と統合
- 人気のあるブローカー:Apache Kafka、RabbitMQ、NATSの概要
- Goベースシステムにおけるユースケースとベストプラクティスの比較
- メッセージングインフラストラクチャのセットアップ
- Kafka、RabbitMQ、NATS用のDocker Composeセットアップ
- トピック、エクスチェンジ、キュー、チャンネルの設定
- Goクライアントライブラリの概要
- 実践ワークショップ
- イベントを生成し消費するシンプルなGoマイクロサービスの構築
- 選択したイベントブローカーとの統合
- イベントフローのデバッグとテスト
Day 4: Go EDAの展開、監視、高度なトピック
- KubernetesでのGoイベント駆動アプリケーションの展開
- 本番環境向けにGoアプリケーションをコンテナ化する
- Kubernetesクラスター上でKafka(または他のブローカー)を展開する
- KEDA(Kubernetes Event-Driven Autoscaling)の導入:イベント消費者のスケーリング
- エラー処理と監視
- ストラテジーを使用したイベント障害の処理方法
- Goサービスでの観測性の実装
- 高度なトピックとQ&A
- Goを使用したサーバーレスイベント駆動アーキテクチャの探索
- イベントコリオグラフィーとオーケストレーション:ユースケースと設計上の考慮点
- 一般的な落とし穴、学んだ教訓、ベストプラクティス
- オープンQ&Aセッションとインタラクティブなトラブルシューティング
要求
- Go(Golang)でのスキル、特にgoroutinesとchannelsの使用方法
- モノリス型やマイクロサービスなどのソフトウェアアーキテクチャモデルの基本的な理解
- DockerとDocker Composeに精通していること
- REST APIとネットワーク概念の基本的な知識
- コマンドラインツールとGitの使用経験
- KubernetesやKafka、RabbitMQ、NATSなどのメッセージングシステムに触れたことがあるとより役立つ(任意)
対象者
- スケーラブルなイベント駆動アプリケーションを構築するGo開発者
- モノリス型やRESTベースのアーキテクチャから非同期システムに移行するソフトウェアエンジニア
- コンテナ化または分散マイクロサービスで働くDevOpsおよびクラウドエンジニア
- Goを使用したEDAパターンを探索する技術アーキテクトやシステムデザイナー
お客様の声 (7)
私たちはGoでいくつかのコードを書きます。また、EDA(イベント駆動アーキテクチャ)に関する知識、例えばイベントのタイミングや方法についても学びます。
Alin
コース - Event Driven Architecture Custom
機械翻訳
これはインタラクティブなコースで、眠る時間はありませんでした :))。また、チームで働いてからそれぞれの結果に基づいて議論するのも良かったです。
Alina
コース - Event Driven Architecture Custom
機械翻訳
ディスカッションや、自分で結論に達するための例が提供された点が最も気に入りました。ペース、英語、そして忍耐力も良かったです。私たちが最良の答えを出せなくても、間違っているとは言わずに、より良い答えの例を示してくれました。
Simona
コース - Event Driven Architecture Custom
機械翻訳
オープンな議論を行い、問題や理由(『なぜ』)の理解から`EDA`へと進む。
Constantin
コース - Event Driven Architecture Custom
機械翻訳
対話と例を重視したアプローチで物事を提示すること
Virgil
コース - Event Driven Architecture Custom
機械翻訳
コースの対話的な性質 自己発見型学習アプローチで、あなた自身が答えを見つけ出す 実践的焦点と現実的な例題で、概念がより身近になる
Roxana Sandu
コース - Event Driven Architecture Custom
機械翻訳
非常にインタラクティブでした。トレーナーは非常に知識が豊富で、忍耐強い方でした。
Robert
コース - Event Driven Architecture Custom
機械翻訳