文档消息与消息丰富
Document message vs message enrichment
我正在开发一个企业系统,我想在其中将数据从一个有界上下文(源)复制到另一个 bc(目标)。我绝对想将数据存储在目标 bc 中,而不是在需要时获取它,因为数据量很大。
我已经查看了许多消息传递模式,但在文档消息和消息扩充之间难以做出决定。
文档消息 - 当源中发生事件时,通过服务总线广播将整个消息发送到目标。优点:简单,目标与源解耦。缺点:消息大小。
消息丰富 - 通过服务总线广播将包含实体 ID 和 link 的消息发送回源数据。优点:精简版消息。缺点:目标与源的耦合度更高(尽管通过负载中的 link 减轻),同步调用需要返回源以获取数据。
这里还有我应该注意的其他注意事项吗?我读过服务总线上的大消息是一件坏事。但是坏到什么程度呢??为什么那么糟糕? Azure 服务总线上每条消息有 256kb 的限制,但我的消息最大为 1kb。
任何帮助将不胜感激...谢谢。
1 KB 对于服务总线来说绝对不是什么大事,所以我认为您可以自由选择选项 1。
如您所说,有效载荷限制为 256 KB,但即使您想发送更大的消息 - 常见的模式是将有效载荷放入 blob 存储,然后通过服务总线发送 link。但对于适合的消息 - 不要打扰。
请注意,当您将多条消息作为单个操作发送时,每批应用 256 KB 的限制。 1 KB 大小的批处理仍有足够的空间。
我正在开发一个企业系统,我想在其中将数据从一个有界上下文(源)复制到另一个 bc(目标)。我绝对想将数据存储在目标 bc 中,而不是在需要时获取它,因为数据量很大。
我已经查看了许多消息传递模式,但在文档消息和消息扩充之间难以做出决定。
文档消息 - 当源中发生事件时,通过服务总线广播将整个消息发送到目标。优点:简单,目标与源解耦。缺点:消息大小。
消息丰富 - 通过服务总线广播将包含实体 ID 和 link 的消息发送回源数据。优点:精简版消息。缺点:目标与源的耦合度更高(尽管通过负载中的 link 减轻),同步调用需要返回源以获取数据。
这里还有我应该注意的其他注意事项吗?我读过服务总线上的大消息是一件坏事。但是坏到什么程度呢??为什么那么糟糕? Azure 服务总线上每条消息有 256kb 的限制,但我的消息最大为 1kb。
任何帮助将不胜感激...谢谢。
1 KB 对于服务总线来说绝对不是什么大事,所以我认为您可以自由选择选项 1。
如您所说,有效载荷限制为 256 KB,但即使您想发送更大的消息 - 常见的模式是将有效载荷放入 blob 存储,然后通过服务总线发送 link。但对于适合的消息 - 不要打扰。
请注意,当您将多条消息作为单个操作发送时,每批应用 256 KB 的限制。 1 KB 大小的批处理仍有足够的空间。