是否可以使用顺序护航通过 BizTalk 横向扩展来实现有序消息传递?
我有一个连接到队列(使用 MQ 系列适配器)的 BizTalk 接收端口,该队列用于接收有序消息。我需要使用多个 BizTalk 主机实例扩展此端口(我使用的是 BizTalk Server 2006 R2)。
根据 MSDN 的说法,这是不可能完成的,因为有序消息传递不利于横向扩展技术。
是否有其他方法可以通过扩展多个 BizTalk 主机实例来实现有序消息传递?是否可以通过顺序护航模式来实现这一点?
感谢您的反馈。
谢谢,
查图尔
I have a BizTalk receive port connected to a queue (using MQ Series adapter) which is used to receive ordered messages. I need to scale out this port with multiple BizTalk host instances (I'm using BizTalk Server 2006 R2).
According to MSDN this cannot be done since ordered message delivery works against scale-out techniques.
Is there any other way to achieve ordered message delivery with scaling out with multiple BizTalk host instances? Is it possible to achieve this with sequential convoy pattern?
Appreciate your feedback.
Thanks,
Chatur
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(2)
根据您的帖子的答案在 MSDN 上,打开“有序”MQ 接收位置将阻止多个接收主机的并行吞吐量,但您仍然应该获得好处可靠性、故障转移和“维护”插槽,无需停机。
FWIW,我们在 2 台服务器上使用 MQSC 适配器 - 接收位置上有许多性能“旋钮”(轮询间隔、最大批量大小和线程)(诚然,我们没有使用有序),可用于仅提高一个侦听器的有序吞吐量(每秒到底需要处理多少条消息?)。
作为跨接收位置的有序交付的替代方案(假设工作单元所需的文档已被拆分并且可以重新关联在一起/并且文档具有某种序列号),您可以查看每个工作单元上的聚合模式-消息基础,例如这个塞罗特
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
这是行不通的——如果您需要按顺序处理消息,则扩展不会对您有帮助。如果当前主机实例尚未完成,如何从另一个主机实例处理队列中的下一个项目。您基本上是在问如何使我的顺序交付可并行化?
This won't work - scaling out isn't going to help you if you need to process messages in sequence. How can you process the next item in the queue from another host instance if the current host instance hasn't completed. You are basically asking how can I make my sequential delivery parallelizable?