私は、マイクロサービスはコンテキストを分離し、より小さいモデルを作成するのに適していると理解しています。デカップリングを実現する方法の1つは、マイクロサービス間の非同期パブリッシュ/サブスクライブ通信です。同期通信マイクロサービス
のはマイクロサービスを言ってみましょうが、要求を処理するために担当しており、そのためにはマイクロサービスBに格納された情報を必要とします。 これを解決する方法の1つは、マイクロサービスをマイクロサービスBのイベントにサブスクライブし、必要なデータの一部をデータストレージにコピーし、将来の処理に使用することです。ユーザーはマイクロサービスにリクエストを送信した場合
さて、は何か、そしてマイクロサービスを処理するマイクロサービスから最新のイベントを処理していなかったことはB、それを使用するためのより良い方法だろうそのデータの一部を直接要求しますか?はいの場合、それは現在のデザインとカップリングの「違反」とみなされますか?
間違ったモデリングとも考えられますか?そのような場合 - データがAコンテキストで必要とされた場合、開始からそのコンテキストの一部であったはずです。
"このパターンでトラップされていれば、Bと同期して通信することになりますが、Bが利用できない場合はそのデータのローカルキャッシュを使用することになります。"これはもちろん、キャッシュされたデータを使って作業することがビジネスで許可されている場合にのみ有効です。さもなければ、Aはデータを所有するか例外をスローする必要がありますか? – Robert