BT

イベントはいかに現代のシステムを変えたか - Jonas Boner氏の講演より

| 作者: Srini Penchikala フォローする 30 人のフォロワー , 翻訳者 h_yoshida フォローする 1 人のフォロワー 投稿日 2017年12月18日. 推定読書時間: 2 分 |

あなたのリクエストに応じて、ノイズを減らす機能を開発しました。大切な情報を見逃さないよう、お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。

原文(投稿日:2017/11/14)へのリンク

Lightbendの創業者でCTOのJonas Boner氏がイベント駆動サービスについて講演し、イベント駆動アーキテクチャ(EDA)とイベントストリーム処理(ESP)テクノロジが、分散システムを基盤とする現代的なアプリケーション設計において果たす役割について説明した。氏は先日のReactive Summit 2017カンファレンスで基調講演を行なった。

Boner氏のプレゼンテーションは、イベント起動システムが時間とともにいかに進歩してきたか、というバックグラウンドから始まり、TuxedoTerracottaSEDA(Staged Event Driven Architecture)などを例としてあげた。イベントとは事実を表すものであるから、イベント駆動が何を意味するかを知ることが重要だ。

イベントはシステムの自律性を向上するだけでなく、リスク軽減にも有効だ。疎結合、スケーラビリティ、レジリエンス、トレーサビリティも向上する。イベント駆動サービスアプローチは、基本的にシステムの制御フローを反転させるので、結合の最小化と自律性の向上を支援する。イベント駆動ソリューションが注目するのは、システムの構造よりも、システムの振る舞いなのだ。

氏は開発者に対して、システム内の“もの”(ドメインオブジェクト)に注目するのではなく、何が起きるのか(イベント)を重視することを推奨した。そして、Mark Burgess氏の提唱する約束理論(Promise Theory)を取り上げ、約束を通じてイベントをコンテキスト境界(Bounded Context)として定義する方法について解説した。

Boner氏はイベントによって時間の管理が可能になるとも述べて、Greg Young氏のことばを紹介した。

イベントをモデリングすることにより、システムで何が起きているのかを経時的に把握する必要が生じます。時間がシステムの重要なファクタになるのです。

イベントをログすることにより、イベント一時的なスナップショットとして、イベントログを完全なヒストリとして扱うことが可能になり、時間のモデル化が実現する。経時的なデバッグに加えて、監査やトレーサビリティのためにログを再生可能であるという意味において、タイムトラベルも可能になる。システム障害やデータ重複を再現できるのだ。

Boner氏はイベント駆動アーキテクチャとして、次のようなパターンに言及した。

  • イベントループ
  • イベントストリーム
  • イベントソーシング
  • CQRS(コマンドクエリ責務分離)による時間的分離
  • イベントストリーム処理

これらのデザインパターンは、Apache FlinkSpark StreamingKafka StreamsApache GearpumpApache Beamなどのイベントストリーム処理テクノロジを使用して実装することができる。

 

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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