BizTalk 编排节流

发布于 2024-12-09 21:22:48 字数 209 浏览 2 评论 0 原文

我正在尝试设置可以在 BizTalk 2010 中同时运行的最大编排数量。我发现我可以在主机级别为编排指定限制,并且可以选择指定暂停时间和恢复时间规范(在主机设置的“编排限制”选项卡上)。

根据阅读我在 MSDN 上找到的有限文档,我解释说,在为“暂停于”设置指定的数量处,BizTalk“暂停”并且不再启动新的编排,直到活动编排的数量 < ;= 恢复设置的规范。这是准确的解释吗?

I'm trying to set up a maximum number of orchestrations that can be run at once in BizTalk 2010. I've found that I can specify throttling for an Orchestration at the host level and have the option to specify a Pause at and Resume at specification (on the Host setting's "Orchestration Throttling" tab).

Based on reading the limitted documentation that I could find on MSDN, I'm interpreting that at the number specified for the "Pause at" settings, BizTalk "pauses" and does not start anymore new orchestrations, until the number of active orchestrations is <= the specification of the Resume at setting. Is this an accurate interpretation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感性不性感 2024-12-16 21:22:48

我对此设置的理解(假设它与 自 BizTalk 以来限制 BTSNTSvc.exe.config 中的 PauseAt / ResumeAt 条目 2006)的一个缺点是它限制任何单个订阅(任何类型的端口或编排)的消息数量,而不一定限制特定类型的并发编排数量。此订阅的任何其他消息都将在消息框中排队。
(恕我直言,我发现 BTS 限制设置更多的是 BizTalk 的自我保存机制,而不是应用程序特定的调整机制)

如果您需要限制特定类型的编排数量(例如,如果 BizTalk 正在使下游应用程序过载)有限的 WCF 或 SQL 资源),您将需要实现单例编排的变体(即并发编排 <= N)。 Richard Seroter 此处描述了这种机制(负载均衡/ 循环调度,尽管我们已经使用了 Mike S 在评论中建议的随机数生成修改)。由于单个编排将处理所有/许多消息,因此围绕单例存在一些额外的稳健性问题 - 例如,尽可能严格地限制消息和变量的范围。您还需要监视单例,以确保消息的积压不会太高 - 我们发现,一旦您在单例上排队的消息超过 10k,处理时间就会变慢。

My understanding of this setting (assuming that its the same as the Throttling PauseAt / ResumeAt entry in BTSNTSvc.exe.config since BizTalk 2006) is that it restricts the number of messages to any single subcription (port or orchestration of any type), and not necessarily the number of concurrent orchestrations of a particular type. Any further messages for this subscription will be queued in the messagebox.
(IMHO I've found the BTS Throttling settings are more of a self preservation mechanism for BizTalk rather than an app specific tuning mechanism)

If you need to restrict the number of Orchestrations of a specific type (e.g. if BizTalk is overloading a downstream application with limited WCF or SQL resources), you will need to implement a variant of the Singleton Orchestration (i.e. concurrent orchestrations <= N). Richard Seroter describes such a mechanism here (Load Balancing / Round Robin Scheduling, although we've used the random number generation modification suggested by Mike S in the comments). There are some additional robustness concerns around singletons as a single orchestration will process all / many messages - e.g. scope your messages and variables as tightly as possible. You also need to monitor singletons to ensure that the backlog of messages doesn't get too high - we've found that once you get 10k+ messages queued up on a singleton that processing times slow down.

守护在此方 2024-12-16 21:22:48

看看这个页面;
BizTalk 设置仪表板

特别是“暂停”在“部分说;

指定您希望订阅存储的最大消息数。
当订阅等待消费的消息数量大于等于指定数量时,消息不会投递到订阅实例。消息的最小数量将是“恢复于”值。
例如,如果将 Pause at 值设置为 100,则意味着编排有 100 条未完成的消息,并且 MessageBox 将停止发送其他消息。

Look at this page;
BizTalk Settings Dashboard

Particularly the "Pause at" Section that says;

Specify the maximum number of messages you want a subscription to store.
When a subscription has messages waiting to be consumed that are greater than or equal to the specified number, the messages are not delivered to the subscription instance. The minimum number of messages would be the ‘resume at’ value.
For example, if you set Pause at value to 100, it means an orchestration has 100 outstanding messages and the MessageBox will stop sending additional messages.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文