この質問は、サービス アーキテクチャ間のメッセージ キューイングに関するものです。このトピックについて見つけることはほとんどありません。
状況: マイクロサービス A とマイクロサービス B。マイクロサービス A はエンティティ「何か」を処理し、B は処理する必要があります。境界についての議論を避けるために、一般的なものにします。
私たちの場合、A は Event: somethingCreated SomethingID: 1234 のようなイベントと関連エンティティ ID を含むメッセージを送信します。
B はこのメッセージを消費し、さらに情報が必要な場合は、SomethingID を使用して A からこれを取得します。
2 番目のアプローチは、メッセージに上記の情報だけでなく、Event: somethingCreated SomethingID: 1234 SomeFieldKey: someFieldValue ... のようなメタデータも含めることです。
無駄のないメッセージ: 長所: * ネットワークの使用量が少ない * メッセージの構造が常に同じ 短所: * A からの情報が必要に応じて必要な場合、ネットワーク障害などをキャッチする何らかのメカニズムが必要です
太ったメッセージ: 長所: * 情報は既に存在します 短所: * 添付された情報が十分でない場合はどうなりますか?
したがって、それには長所と短所の両方があり、ここでの私の意図は、使用しているアプローチの概要を取得することです.
事前に回答いただきありがとうございます