2016-04-23 10 views
1

私は新しいプロジェクトを開始しており、マイクロサービスとして設計することに興味があります。私はそれの周りに私の頭をラップしようとしています:マイクロサービスでcompexレポートを作成する

私は注文サービスと製品サービスがあると言います。今では、特定の製品カテゴリの製品を含むすべての注文を提供するレポートサービスを作成したいと考えています。

すべての注文を取得する必要があることを意味する商品について知りませんので、それらをループして注文ごとに商品をフェッチし、それらの一致を返します。

この仮定は正しいのですか、それともマイクロサービスでこれを行うより効率的な方法がありますか?

答えて

6

マイクロサービスアーキテクチャでは、アプリケーションのユースケースとサービス境界を抽出する手順があります。上記の質問には、少なくとも2つのサービス境界、つまりトランザクション用とレポート用の境界があります。

2つの異なるサービス境界がある場合、典型的な方法は、それらの間にいくつかのデータ要素を複製することです。データを販売するたびに、レポートサービスとトランザクションサービスの両方にデータを送信する必要があります。異なる境界にデータをブロードキャストする方法の1つは、メッセージキューを使用することです。データを複製することで、それらを進化させて独立して動作させ、マイクロサービスの目標の1つである自立することができます。

個人的な言葉ですが、マイクロサービスのルートに行く前にモノリスで始めたいと思うかもしれません。マイクロサービスは一般的に操作上重い。最初の適用段階でその利点について理由を付けるのは難しいでしょう。それは、モノリシックアプリケーションを開発した後にうまくいく傾向があります。なぜなら、動作しなかったものと、マイクロサービスのようなシステムによって改善されるものが見えやすくなるからです。

+3

あなたの答えに全面的に同意してください。最初にモノリスに関する詳細:http://martinfowler.com/bliki/MonolithFirst.html –

関連する問題