首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消息总线设计-支持消息的隐式排序?

消息总线设计-支持消息的隐式排序?
EN

Stack Overflow用户
提问于 2009-10-07 09:04:31
回答 2查看 762关注 0票数 3

在设计企业消息总线时需要做出的一个重要设计决策是消息总线是否(以及如何)支持消息的隐式排序。在隐式排序中,我指的是以与发送消息完全相同的顺序传递消息的能力。

有几种选择:

  • 完全是不支持隐式消息排序。消息不能保证按照发送的相同顺序传递。任何需要消息排序的业务流程都必须在每个消息中提供一个明确的顺序。此选项简化了消息总线体系结构,支持更好的可伸缩性和恢复,并强制应用程序采用显式消息排序。
  • 在消息总线(传输层之上)中有一个可选层,该层只为需要消息的业务流程提供消息排序。这使传输层保持简单和可伸缩,但也在适当的情况下提供消息顺序的好处。这是一个类似于FIX (提供订单)和FIX(它不提供排序)的设计。
  • 将隐式排序直接构建到总线的传输层。这消除了对单独排序层的需求,但妨碍了可伸缩性和恢复方案。

作为消息总线的架构师,或者作为可能使用消息总线的开发人员,您更喜欢哪种选择,为什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-07 09:20:00

你的第二个选择似乎提供了所有世界中最好的:

  • 当不需要排序时,我们从简单的体系结构和可伸缩性中获益。
  • 当需要订购时,只开发一次,而不是为每个应用程序开发。

如果以后出现性能问题,则可以很容易地更改唯一的实现。

票数 1
EN

Stack Overflow用户

发布于 2009-10-07 09:40:34

提供消息的总顺序将需要来自总线的相当高的开销,所以使用第二个选项是个好主意。然而,许多时候,对于总线用户来说,灵活性带来了复杂性的代价,因此,在总线几乎总是被使用的情况下,直接在总线中构建排序功能可能是一个好主意。稍后,您可以提供更低层的API来发送无序消息。这是第三种选择。

我认为,无论如何都可以放弃第一种选择。:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1530415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档