イベント駆動アーキテクチャ
適応性に優れる (小規模から大規模まで)
2 つのパターン
Broker パターン
本質は非同期通信
テストが難しい
中心の調整役がいないため、協調やエラーハンドリングが難しい
構成部品が高度に疎結合になっているので、非常に進化しやすいパターン Mediator パターン
処理するイベントの性質や複雑さに応じて様々な方法で実装可能
BPEL では途中に人の手が介在するものを扱いづらい 多くの場合は、様々な複雑さのイベントが混ざっている
常に単純なイベントメディエーターを経由するようにして、複雑なイベントは別のイベントメディエーターに委譲する手がおすすめ
エラー処理が難しい
データロスが最大の懸念事項
軽減策
メッセージキューからイベントを取り出した後にイベントプロセッサが落ちる問題 → クライアント応答モードで対応
キューからメッセージを消すのではなく、クライアント ID をメッセージに付けることで他のクライアントが読めないように
参考文献