BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース DDD、イベント、マイクロサービス

DDD、イベント、マイクロサービス

原文(投稿日:2015/06/29)へのリンク

マイクロサービスを素晴らしいものにするには、ドメイン駆動設計(DDD)が必要であり、5年から10年前に発生した誤ちはDDDによって解決されたが、マイクロサービスの世界でも同じことが起こっている。David Dawson氏はロンドンで開催されたDDD Exchange講演でこのように自身の考えを発表した。

Simplicity itself社のCEOを務める氏は、アーキテクチャを思想的な立脚点と定義し、問題に対してアプローチし、論理的に考えるための方法であり、問題を解決するためのガイドとなる原則であり、ソリューションそのものではない、という。設計がソリューションなのだ。アーキテクチャは進化しないが、設計を進化させるためにガイドとなる原則を活用することはできる。多くの企業が、技術的にはマイクロサービスを実装しているが、利点を得ていない。氏はガイドとなる原則が正しくないからだ、と考えている。

多くの人々とマイクロサービスについて話し合った後、氏が気づいたのは、皆独自の意見を持っていたが、ひとつだけ共通の認識があったということだった。それは、マイクロサービスはネットワークを境界として分離を行う、ということだ。氏はこの分離がマイクロサービスが生み出すすべての利益と欠点の源泉だと考えている。巨大なトレードオフであり、素晴らしい利点があるが、コストも背負わざるを得ない。

Dawson氏は、素晴らしいマイクロサービスを作るために注意しなければならないことは、DDDを実践するときに注意しなければならないことと同じだ、と考えている。例えば、アグリゲートルート、ゲートウェイ、ビュー、イベントなどだ。例えば、イベントはソフトウエアを変える。氏はイベントこそが、本当のユビキタス言語だと考えている。ユーザと話せば、彼らは発生することを言葉にする。それがイベントだ。また、氏はイベントの観点から考えると、マイクロサービスが抱える多くの問題が解消する、と考えている。氏はイベントの流れこそが唯一の真実だと考えている。データベースの動いていないデータは使い物にならない、データから価値が手に入るのは、動いているとき、つまり、問い合わせをしたとき、コマンドを送ったとき、データを変更するような処理をしたときだけだ、というのが氏の主張だ。

Dawson氏は現在のマイクロサービスのHTTPとRESTに対する脅迫的な観念は制約になっていると考えている。HTTPとRESTを使うのはひとつの統合スタイルではあるものの、リクエストとレスポンスという方法しか手に入らない。ブロードキャストやストリーミングはサポートしないのだ。メッセージングを活用すれば、これらの方式も手に入り、またもっといろいろなことができるようになる。氏はイベントソーシングを活用したマイクロサービスは問題に対するアプローチを大胆に変える方法だと考えている。

来年のDDD Exchangeは2016年6月10日に予定されており、参加受け付け中。

この記事に星をつける

おすすめ度
スタイル

BT