2011-01-28 33 views
2

私はJavaでWebアプリケーションプロジェクトを開始しています。ドメインイベント駆動型アーキテクチャ

nサービスに応じて、サービスによっては、スタンドアロンWebアプリケーションとして機能する場合もあれば、機能しない場合もあります。

私はDomain-Event-Drivenアプローチが本当に好きです。私はこれまでにこのような大きなプロジェクトを行ったことは一度もありませんでした。そして、どのような道を行くかについてのいくつかの考えやヒントを聞いていただければ幸いです。ドメインイベントドリブンアーキテクチャを持つ

、私の主な疑問は以下のとおりです。

  • 私は他のサービスから、いくつかのデータが必要な場合は、それが右のそれのためのWebサービスを作成して、そこからすべてのデータにアクセスすることです?私はここでより深いカップリングを生成するだろう、そして、それは私が避けたいもののようなものです。他にどのようなアトラクションがありますか?

  • 永続化はどのように行われますか?各サービスはそれ自身のDBを持っていますか?サービスのDB間の関係はありませんか?

  • サービスに障害が発生した場合はどうなりますか?それはすべてのメッセージを失うので、対応するアクションを取ることができませんよね?回避策はありますか?

  • ActiveMQに失敗したらどうなりますか?

ありがとうございます!

答えて

3

他のサービスのデータが必要な場合は、そのサービス用のWebサービスを作成し、そこからすべてのデータにアクセスできますか?

はい。

私はここでより深いカップリングを生成しています。それは私が避けたいものです。

偽。ここで起こると思われるカップリングについて説明する必要があります。

他にどのようなアッスルがありますか?

サービス指向アーキテクチャーはこれを常に行います。代わりのものはであり、より多くはである。

永続化はどのように行われますか?各サービスはそれ自身のDBを持っていますか?

はい。サービスは独立しています。多くの場合、サービスは大規模なパッケージ化されたアプリケーションの一部です。

サービスのDB間の関係はありませんか?

正しい。

サービスに障害が発生した場合はどうなりますか?

バマー。サービスを再開するまで、キュー内の要求をバックアップします。

メッセージがすべて失われてしまい、対応する操作ができなくなります。回避策はありますか?

偽。全く間違っている。永続的で信頼性の高いメッセージキューを使用できます。

ActiveMQに失敗したらどうなりますか?

私たちが知っている世界は終わりです。 「失敗」とはどういう意味ですか?かなり疎結合されたシステムで、多くの問題が発生して解決されます。

+0

時間をとっていただきありがとうございます!それは役に立ちました。 –

+0

申し訳ありませんが、 "失敗"とは、クラッシュ/動作停止を意味します。 –

+0

@ alan.reid:メッセージは「もの」ではありません。それはクラッシュしません。キューの一部になっているホストは停止するかもしれませんが、キュー全体は1つの場所に存在しません。 –

関連する問題