2011-10-13 35 views
1

我試圖設置可以在BizTalk 2010中一次運行的最大編配數量。我發現我可以在主機級別爲Orchestration指定節流,並且可以指定選項暫停時間和規格恢復時間(在主機設置的「編排限制」選項卡上)。BizTalk Orchestration節流

根據我在MSDN上可以找到的限制性文檔,我正在解釋爲「Pause at」設置指定的數字,BizTalk會「暫停」並且不再啓動新的業務流程,直到活動編排是< =設置時恢復的規範。這是一個準確的解釋?

回答

2

我此設置的理解(假設其一樣Throttling PauseAt/ResumeAt entry in BTSNTSvc.exe.config自2006年以來的BizTalk)是它限制消息的任何單一subcription(任何類型的端口或編排)的數目,並且不一定數特定類型的併發編排。此訂閱的任何其他消息將在消息框中排隊。 (恕我直言,我發現BTS節流設置更適合BizTalk的自我保護機制而不是特定於應用的調整機制)

如果您需要限制特定類型的編排數量(例如,如果BizTalk是使用有限的WCF或SQL資源重載下游應用程序),則需要實現Singleton Orchestration的變體(即併發編排< = N)。 Richard Seroter描述了這樣一種機制here(負載平衡/循環調度,儘管我們在評論中使用了由Mike S提出的隨機數生成修改)。由於單個編排會處理所有/多個消息,所以單身人士還有一些額外的強健問題 - 例如儘可能嚴格地限制消息和變量。您還需要監控單身人士以確保積壓的消息不會太高 - 我們發現一旦您獲得10k +消息排隊等待處理時間減慢的單身人士。

2

看看這個頁面; BizTalk Settings Dashboard

特別是「暫停」部分說:

指定您希望預訂存儲的最大消息數。 如果訂閱的消息等待消耗大於或等於指定的數量,則消息不會傳遞到訂閱實例。消息的最小數量將是'resume at'值。 例如,如果將Pause值設置爲100,則表示編排有100封未完成的消息,並且MessageBox將停止發送其他消息。