BT

Udi Dahan氏がイベント駆動アーキテクチャと疎結合なシステムについて語る

| 作者: Jan Stenberg フォローする 29 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2014年4月21日. 推定読書時間: 2 分 |

原文(投稿日:2014/04/14)へのリンク

Udi Dahan氏プレゼンの中でよりイベント駆動で非同期なパターンを使ったシステムのモデリングの仕方やこのような手法を採用したときに直面する課題について説明しながら、強靭さ、弾力性、スケーラビリティを確保するにはより弱く結合したシステムを構築する必要がある、と主張している。

氏はNServiceBusの開発者であり分散システムの設計を専門とするアーキテクトだ。氏は自身の経験から、システムの適切な設計についての意思決定は小さく基礎的でシンプルなシステムを構想してなされるが、システムが進化するに従って、コードベースは巨大化して結合度が強くなり、最終的には見るも恐ろしい密結合の固まり、複雑な巨大泥だんごになってしまう、という。
Udi氏は、どのようにして泥だんごを回避するか、システムの最も重要な部分の疎結合を保つにはどうしたらいいかという課題に直面してきた。そのためには、プロジェクトの初期段階で疎結合を指向するパラーンを導入する必要がある。プロジェクトの後半になって、異なるアーキテクチャを導入して、リファクタリングしながら、疎結合なイベントタイプシステムに作り直すのはとても大変だ。

氏はプレゼンで発行 – 購読パターンに注目している。この種の非同期通信はビジネスドメインの中核的なロジックになじみやすいことがわかった、というのだ。ビジネスドメインの中核的なロジックは最も複雑なロジックを含んでおり、一枚岩のロジックから小さな複数のドメインが非同期で動くように変わることで、大きな利益が得られる。しかし、氏によればこの決定は簡単に下せるものではない。多くの開発者がこのようなパターンに群がって、使い方を間違ってしまっているという。

氏によれば疎結合は諸刃の剣だ。つながりを少なくすればするほど、結合は弱まり、独立化が失敗する可能性やバグが増える。しかし、疎結合であれば、あるロジックを変更してもその変更が他の部分の動作をおかしくしてしまう可能性が低くなる。そうなることでプロジェクトの進み具合も良くなる。

アーキテクチャについて語った後、Udi氏はNServiceBusのデモを見せてくれた。

NServiceBusオープンソースライセンスの.NET向けサービスバスで、商用ライセンスもある。また、より大きなサービスプラットフォームでもある。

この記事に星をつける

おすすめ度
スタイル

こんにちは

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