2017-08-20 7 views
0

私たちはある種のマイクロサービスアーキテクチャを実装することを考えています。私たちは複数のチームによってソフトウェアを管理し、ポイントツーポイント通信のためのシリアル化メカニズムとしてprotobuf 3を使用してgrpcを使用します。その目的は、ビジネスロジックをアプリケーションロジックから切り離し、一方で複数のビジネスコンテキストにまたがるUIを可能にすることです。マイクロサービスアーキテクチャの一般的なプロトタイプデータ型ですか?

マイクロサービスは、他のマイクロサービスで扱うデータと類似または同一のデータを処理する必要があることがあります。

これらの共通のproto3データ型を抽出し、それらを別々に処理し、それを各マイクロサービスへの依存としてインポートすることをお勧めしますか?そうすれば、それらを複数のサービスで再利用することができます。

また、(共通の)データ型を共有しないことで、マイクロサービス間のデカップリングに重点を置く方が良いでしょうか?

答えて

1

なぜ、複数のマイクロサービスが同じまたは同じデータを扱うのか不思議に思われる理由は何ですか。これは、あなたがあなたのソリューションをスライスするには遠すぎることを意味するかもしれません。 Sam Newman - "は、自律的なビジネスドメイン(すなわち、別個のビジネス機能)を表しているため、マイクロサービスの分割ラインを識別するための適切な出発点です。"。

私は、ビジネスドメインよりも深く進むビジネス上の理由があるはずです。>マイクロサービス分割。

私は最近、この共有ライブラリ/コンポーネントがあなたのボトルネックになってしまうということを最近読んだことがあります。あなたが行った変更は、チーム間で多くの回帰テストと初期値を必要とします。それを維持するために必要な努力によって影になる可能性があります。

あなたが見ることができるように、マイクロサービスに行くと、私は共有なしのアプローチに投票します;-)

関連する問題