这个问题是关于服务架构之间的消息队列。关于这个话题几乎找不到任何东西。
情况:微服务 A 和微服务 B。微服务 A 处理实体“某事”而 B 需要处理。我保持一般性以避免讨论边界。
在我们的例子中,A 发送一条包含事件和相关实体 ID 的消息,例如 Event: somethingCreated SomethingID: 1234
B 使用此消息,如果它需要更多信息,它会使用 SomethingID 从 A 获取此消息。
第二种方法是消息不仅包含上述信息,还包含元数据,如 Event: somethingCreated SomethingID: 1234 SomeFieldKey: someFieldValue ...
精益消息: 优点: * 更少的网络使用 * 始终相同的消息结构 缺点: * 如果需要来自 A 的信息,则必须有某种机制来捕获例如网络故障
Fat message: Pro: * 信息已经存在 Con: * 如果附加信息不够怎么办?
所以它既有优点也有缺点,我在这里的目的是大致了解您正在使用哪种方法。
感谢您提前回答