BT

"イベントソースシステム"はアンチパターンである

| 作者: Jan Stenberg フォローする 33 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2016年5月20日. 推定読書時間: 3 分 |

原文(投稿日:2016/04/26)へのリンク

CQRS(Command Query Responsibility Segregation)は我々が達成しようとしている最終目標ではなく,イベントソーシングの思想に向かう一歩に過ぎない — 今年初め,Domain-Driven Design Europeカンファレンスで行なったプレゼンテーションの中で,Greg Young氏はこのように述べた。さらに氏は,CQRSの適用について,単に同じデータベースを対象とした読み取りと書き込みを分離するという意味でも価値のあるパターンであり,そのような方法でシステムを構築しているチームも数多く存在する,とも指摘している。

イベントソーシングの10年の歴史を振り返って,Young氏は,金融やギャンブルのような高トランザクションのドメインを越えて新たなドメインにそれが適用されていく過程と,そこで起きた数多くのブレークスルーを目の当たりにしたと言う。イベントのモデリングでは,構造ではなく振る舞いに注目することが求められるため,従来の世界から来たドメインの専門家との対応で大きな意味を持つだけでなく,システムの重要なファクタとして時間に注目することにも繋がっている。時系列的に考え,時間との関係を考慮することは,ドメインの中心的知識を獲得する上でも意義があるのだ。

ここ数年における大きな成果のひとつとして,イベントストーミングがある。 Young氏は,Alberto Brandolini氏の使用する方法を引き合いに出しながら,ドメインの問題を発見するための探索的方法は複数ある,と説明している。Young氏自身の方法は,唯一のプロセスとして,サービス境界を見つけ出すことに注目する,というものだ。今後イベントストーミングプロセスはさらに定式化され,多くの人々の注目を集めるだろう,と氏は期待している。

この10年間に起きた唯一かつ最大の問題は,イベントソーシングに基づいてシステム全体を構築するというアンチパターンが一般化したことだ。実質的にイベントソース型のモノリスが構築されるという意味で,これは本当に大きな失敗である。CQRSとイベントソーシングはトップレベルのアーキテクチャではなく,システムのいくつかの部分に必要に応じて適用されるべきものなのだ。

最後にYoung氏が言及したのは,プロセスマネージャの欠如という問題だ。システムを複数のサービスで構築し,各サービスが他のサービスから直接イベントを受信するという方法は,そのシステムが実際に行なうことの理解を非常に難しくする。全サービスのコードを一通り見なければ,全体的なプロセスを見つけ出すことが困難な場合さえあるのだ。プロセスマネージャは難しい話題だが,書籍“Enterprise Integration Pattern”にその最良の解説がある,と氏は述べている。

イベントソーシングの今後について,氏は,関数プログラミングと併用されるケースが多くなるのではないかと予想する。イベントソーシングはオブジェクト指向と結び付けられることが多いのだが,実際には関数型コードと親和性の高い純粋な関数モデルであって,今後はイベントソースシステム上で関数型コードが稼働する事例が増えるに違いない,というのが氏の考えだ。

さらに氏は,今後はプロセス管理の利用が多くなるとも考えている。特に完璧なプロセスマネージャとしてのアクタについて,その利用が増えていくことになるだろう。プロセスマネージャのフレームワークはアクタフレームワークそのものだ,と氏は説明している。

次回のDomain-Driven Design Europeカンファレンスは,2017年1月末に開催される予定だ。

 
 

この記事を評価

関連性
形式
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT