mcpField
E
event-driven-architect

event-driven-architect

github.com/404kidwiz開発152 回インストール
リポジトリ

event-driven-architect について

event-driven-architect は、イベント駆動システムの設計に取り組むアーキテクトや開発者向けのスキルです。ブローカー選定、イベントソーシング、CQRS、AsyncAPI の文書化を扱います。

主な機能

  1. 01イベント駆動システム設計
  2. 02メッセージブローカー選定
  3. 03イベントソーシング実装
  4. 04CQRS パターンの指針
  5. 05AsyncAPI 仕様の設計
  6. 06CloudEvents スキーマの指針

活用シーン

  1. 01非同期マイクロサービスの設計
  2. 02ブローカーとキュー構成の選定
  3. 03イベントソーシングアプリの構築
  4. 04AsyncAPI によるパブリッシュ/サブスクライブの文書化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill event-driven-architect

インストール後、Claude Code で/event-driven-architectを入力して読み込まれたか確認します。

詳細

イベント駆動アーキテクト

目的

イベント駆動アーキテクチャの設計と実装に関する専門知識を提供します。スケーラブルで疎結合なシステムを構築するための、メッセージブローカー、イベントソーシング、CQRS、CloudEvents や AsyncAPI などの標準規格を扱います。

使用する場面

  • イベント駆動アーキテクチャを設計する
  • メッセージキューとブローカーを実装する
  • イベントソーシングシステムを構築する
  • CQRS パターンを実装する
  • AsyncAPI 仕様を作成する
  • イベントメッシュのトポロジーを設計する
  • 非同期マイクロサービスを構築する

クイックスタート

次の場合にこのスキルを呼び出します:

  • イベント駆動アーキテクチャを設計する
  • メッセージキューとブローカーを実装する
  • イベントソーシングシステムを構築する
  • CQRS パターンを実装する
  • AsyncAPI 仕様を作成する

次の場合は呼び出さないでください:

  • 同期 REST API を構築する場合(api-designer を使用)
  • Kafka インフラストラクチャをセットアップする場合(data-engineer を使用)
  • ワークフローオーケストレーションを構築する場合(workflow-orchestrator を使用)
  • GraphQL API を設計する場合(graphql-architect を使用)

意思決定フレームワーク

Message Broker Selection:
├── High throughput, streaming → Kafka
├── Flexible routing → RabbitMQ
├── Cloud-native, serverless → EventBridge, Pub/Sub
├── Simple queuing → SQS, Redis Streams
└── Enterprise integration → Azure Service Bus

Pattern Selection:
├── Audit/replay needed → Event Sourcing
├── Read/write separation → CQRS
├── Simple async → Pub/Sub
├── Guaranteed delivery → Transactional outbox
└── Complex routing → Message router

主なワークフロー

1. イベント駆動システムの設計
  1. ドメインイベントを特定する
  2. イベントスキーマを定義する(CloudEvents)
  3. メッセージブローカーを選択する
  4. トピック/キューの構成を設計する
  5. コンシューマーグループを定義する
  6. デッドレター処理を計画する
  7. AsyncAPI でドキュメントを作成する
2. イベントソーシングの実装
  1. 集約の境界を定義する
  2. イベントの種類を設計する
  3. イベントストアを実装する
  4. プロジェクションハンドラーを構築する
  5. 読み取りモデルを作成する
  6. スキーマの進化に対応する
  7. スナップショット戦略を計画する
3. AsyncAPI 仕様
  1. サーバーとプロトコルを定義する
  2. チャネル(トピック/キュー)を記述する
  3. メッセージスキーマを定義する
  4. オペレーション(パブリッシュ/サブスクライブ)を文書化する
  5. セキュリティスキームを追加する
  6. ドキュメントを生成する
  7. コード生成を有効にする

ベストプラクティス

  • 相互運用性のために CloudEvents 形式を使用する
  • 冪等性のあるコンシューマーを設計する
  • デッドレターキューを実装する
  • イベントスキーマを慎重にバージョン管理する
  • コンシューマーのラグを監視する
  • 少なくとも 1 回の配信を前提に計画する

アンチパターン

アンチパターン問題正しいアプローチ
非同期処理を同期的に行う目的を損なう適切なパターンを使用する
冪等性がない重複処理が発生する冪等性のあるハンドラーを設計する
順序を無視するデータの整合性に問題が生じる必要に応じてキーでパーティション分割する
イベントが巨大ネットワークのオーバーヘッドが増える小さなイベントを使い、詳細は取得する
スキーマの進化に対応しない破壊的変更が生じるバージョニング戦略を策定する

コメント