InfoQ ホームページ Event Driven Architecture に関するすべてのコンテンツ
-
CQRS, 読み込みモデル,永続性
イベントをソースとするCQRS(Command Query Responsibility Segregation/コマンドクエリ責務分離)システムの開発において,リレーショナルデータベースへのイベントの保存と数値の順次増加によるグローバルにユニークなイベントIDの生成は,ある意味で極めて重要な決定になる - Kontad Garus氏は最近,比較的小規模なシステムの構築した自身のプロジェクトで経験したことを,3つのブログ記事に著した。
-
リアクティブストリームとは
最近のソフトウェアは,リアルタイムに近いデータ操作を行うことが多くなっている。 秒以下の応答でデータ交換することにビジネス価値のある状況において,データを可能な限り早く知識に転換する方法のひとつがストリーム処理だ – Kevin Webber氏はリアクティブストリーム(Reactive Streams)について,このように説明する。
-
ドメインイベントと結果整合性
結果整合性はスケーラビリティと性能を改善する設計方法だ。ドメインイベントはドメイン駆動設計の戦略的要素であり、結果整合性の実現を促す。Florin Preda氏とMike Mogosanu氏がブログでこの設計の利点を説明している。
-
CQRSに対する批判的見解
Command Query Responsibility Segregation(CQRS, コマンドクエリ責務分離)をもっと大きく,アーキテクチャ的コンテキストで眺めてみると,他にも利用可能なアーキテクチャスタイルが存在することに気付く。データベース技術でも,同じ問題を簡単な方法で解決することが可能だ – Udi Dahan氏は,CQRSへのアプローチに関して,このような意見を述べている。CQRSが本当に必要であったとしても,はるかに少ない可動部品で目標の大部分を達成可能な方法も存在する。
-
DDD、イベント、マイクロサービス
マイクロサービスを素晴らしいものにするには、ドメイン駆動設計(DDD)が必要であり、5年から10年前に発生した誤ちはDDDによって解決されたが、マイクロサービスの世界でも同じことが起こっている。David Dawson氏はロンドンで開催されたDDD Exchangeの講演でこのように自身の考えを発表した。
-
DDD、イベント、マイクロサービス
マイクロサービスを素晴らしいものにするには、ドメイン駆動設計(DDD)が必要であり、5年から10年前に発生した誤ちはDDDによって解決されたが、マイクロサービスの世界でも同じことが起こっている。David Dawson氏はロンドンで開催されたDDD Exchangeの講演でこのように自身の考えを発表した。
-
CQRSとイベントソーシングのデモアプリケーションを作る
Command Query Responsibility Segregation (CQRS)に関するアーキテクチャやパターンについて理解を深めるため、Sacha Barber氏はCQRSのデモアプリケーションを開発した。このアプリは、イベントソーシングも活用しており、記事で解説がされている。
-
CQRSの優位性
今日のアプリケーションは一般的に不必要に複雑かCommand Query Responsibility Segregation (CQRS)を使わないことで遅くなっており、ラインオブビジネス (LOB)アプリケーションが複雑な使われ方をするときには、CQRSがもっとも有益なアーキテクチャのひとつであるとGabriel Schenker氏は提示して主張した。
-
サービスはマイクロサービスによって構築される論理的構造である
サービスとはビジネス機能を備えた論理的構造であり,内部的にはその責務を果たす,複数の自律的コンポーネントないしマイクロサービスで構成される - ビジネス機能とそれを取り込むコンテキストにおけるサービス構築に関して,自らの見解を明確にした前シリーズのブログ記事に続いて,Jeppe Cramon氏はこのように提言する。
-
ドメイン駆動設計のコンテキスト境界間でデータを共有する
ドメイン駆動設計(Domain-Driven Design/DDD)を使って大規模システムの関心事を,それぞれ独自のデータストアを使用するコンテキスト境界{Bounded Context)に分離していると,共通的なデータを共有する必要が生じることが少なくない。それを実現する方法のひとつは,各コンテキストが変更に関するイベントを発行して,他がそのイベントを受信可能にしておくことだ – Julie Lerman氏は先日のMSDN Magazineで,このように説明した。
-
思考方法としてのCQRS
Command-Query Responsibility Segregation (CQRS) の一般的背景は,同一のデータセット上で作業する複数ユーザに対する共同ドメインにある,単一ユーザのみでデータの一部を操作するようなドメインには不向きだ - Udi Dahan氏は,CQRSを論じるインタビューの中で,このように説明した。
-
イベントソーシングの基本とCQRS
状態遷移は我々の問題空間における重要な問題であり,我々のドメイン内でモデル化されるべきだ - Greg Young氏は先日のプレゼンテーションで,基本的なイベントソーシングとCQRSの適用法について,このように述べている。
-
マイクロサービス vs 共有ライブラリ
Robert C. Martin氏のアドバイスは,まずは共有ライブラリとプラグインアーキテクチャから始めて,それらが不十分になって始めて,サービスバウンダリとマイクロサービスの導入を検討すればよい,というものだ。Giorgio Sironi氏はこれに異論を唱える。マイクロサービス間のインタラクションを,単一アプリケーション内のオブジェクト間のインタラクションを比較した場合の違いを強調し,既存のコードベースにマイクロサービスをレトロフィットすることの難しさを警告している。
-
bitlyでの分散システム構築から学んだこと
5月に開催されたBacon Conferenceで,bitlyのアプリケーション開発リーダのSean O’Connor氏は,毎月600億クリックを処理する分散システムの開発を通じてbitlyの開発者たちが学んだ,最も価値ある教訓について説明した。
-
Microsoftは、新しいデータストリーム処理サービスでInternet-of-Thingsに立ち向かう
先週Microsoft Worldwide Partner Conferenceにおいて、MicrosoftはAzure Event Hubsを公開した。 このサービス– 来月の一般公開まではプレビューリリース中– はデバイスやサービスで生成されたデータストリームを高いスループットで挿入する。Event HubsはAmazon Kinesisに似ており、データ処理ユニットとトランザクション量に基づいて、同一の価格設定を採用している。