web-dev-qa-db-ja.com

イベントドリブンとイベントソーシングの違いは何ですか?

私はドメイン駆動設計(DDD)を研究していて、用語ドリブンとイベントソーシングという用語に出会いました。私はそれがプロデューサーからコンシューマーへのイベントの発行に関するものであることを知っており、ログを保存するので、私の質問は:

イベントドリブンとイベントソーシングの違いは何ですか?

13
J.J. Beam

イベント駆動型アーキテクチャ という用語は、主にまたは排他的にイベントを介して通信するコンポーネントに基づくあらゆる種類のソフトウェアシステムに使用されます。たとえば、一般的なプラットフォームのほとんどすべての主要なGUIフレームワークは、イベント駆動型のメカニズムを使用しています。 「イベント」という用語は通常、この文脈では「通知」を意味します。

イベントソース は、アプリケーション全体の状態が一連のイベントとして格納されるシステムを指す、はるかに特殊な用語です。よく知られている人気のあるクラスの例は、トランザクションログに状態の変更を保存するトランザクションデータベースシステムです。ここで、「イベント」とは、「通知」だけでなく、「状態変化」を指す。

したがって、「イベントソーシング」をコアメカニクスとして使用するシステムは、偶数駆動システムと見なすこともできますが、一般的にその逆は当てはまりません。

15
Doc Brown