お問い合わせ

コース概要

Day 1: Goにおけるイベント駆動型アーキテクチャの基礎

  • EDAの入門
    • イベント駆動型アーキテクチャとは何か?
    • モノリス、マイクロサービス、イベント駆動型システムの比較
    • Goの並行処理モデルと軽量なgoroutinesがEDAに最適な理由
  • コアコンセプトとメリット
    • エンタープライズシステムにおける疎結合、スケーラビリティ、レジリエンス
    • イベント、プロデューサー、コンシューマー、イベントブローカーの定義
    • Goが高性能なイベントシステムを支える実世界の例とケーススタディ
  • CAP定理とEDAにおけるトレードオフ
    • 一貫性、可用性、パーティション耐性の概要
    • これらのプロパティに対するEDAの影響
    • Goベースのシステムにおける一貫性と可用性のバランスを取る戦略

Day 2: Goにおけるイベント、メッセージ、通信パターン

  • イベントタイプの理解
    • ドメインイベントと統合イベント
    • Goアプリケーションにおける同期イベントと非同期イベント
  • 実践的なメッセージングパターン
    • GoでのPublish-Subscribe (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パターンを探求するテクニカルアーキテクトおよびシステムデザイナー
 28 時間

参加者の人数


参加者1人あたりの価格

お客様の声 (7)

今後のコース

関連カテゴリー