3

我正在更新现有的 Mule 配置,任务是增强它以根据消息的某些属性将消息路由到不同的端点,因此最好对我手头的两个选项有一些利弊:

  1. 在消息上添加属性,使用“message-properties-transformer”转换器,稍后由“过滤路由器”使用它来挑选消息并将其放在正确的端点上。此选项允许我对所有目的地使用单个队列。

  2. 为每个目的地创建一个队列,因此我没有为以后的路由添加一些属性,而是立即放入正确的队列。即这个选项意味着每个目的地一个队列。

欢迎任何反馈。在这方面有什么“最佳实践”吗?

4

1 回答 1

1

将您的第一种方法与过滤路由器一起使用,我取得了很大的成功。它降低了消息生产者和消费者之间的凝聚力。它形成了一个有价值的抽象,因此任何服务都可以盲目地将消息投递到通用的“发件箱”中。

我们已经非常依赖 mule 来过滤和路由消息,以至于我们有一个专用的硬件集群来做这件事。使用 mule,我能够获得更好的性能,而不必维护与所有队列的连接。

不利的一面是必须在全球范围内非常小心地维护您的消息传递对象版本,并且如果您计划仅升级一部分基础架构,则必须保留一组转换器来接受和转换来自不同版本的版本。

谢谢,马特

于 2010-11-16T20:10:38.913 回答