【发布时间】:2014-03-27 17:13:41
【问题描述】:
BizTalk 中的每个应用程序是否应该有自己的主机实例/主机实例?
我阅读了各种博客文章和书籍,认为为不同的任务使用不同的主机实例是一种很好的做法,例如一种用于接收,一种用于发送,一种用于编排,一种用于跟踪。
但是每个应用程序都应该有自己的接收、发送、编排和跟踪主机吗?还是只为所有应用程序提供一个?
【问题讨论】:
标签: biztalk biztalk-2010
BizTalk 中的每个应用程序是否应该有自己的主机实例/主机实例?
我阅读了各种博客文章和书籍,认为为不同的任务使用不同的主机实例是一种很好的做法,例如一种用于接收,一种用于发送,一种用于编排,一种用于跟踪。
但是每个应用程序都应该有自己的接收、发送、编排和跟踪主机吗?还是只为所有应用程序提供一个?
【问题讨论】:
标签: biztalk biztalk-2010
简短的回答,除非该应用程序的某个特定方面导致其他应用程序出现性能问题,否则可能不会。如果是这种情况,您只需为导致问题的特定部分创建主机。例如如果它是接收适配器,您将为在该适配器下运行的接收位置创建一个主机。如果是该应用程序的编排,则为该应用程序创建一个处理主机,以便该应用程序的编排在其下运行。
来自微软的长篇回答 High Availability for BizTalk Hosts
附加主机的缺点
虽然创建额外的主机实例有好处,但如果创建过多的主机实例也有潜在的缺点。每个主机实例都是一个 Windows 服务(BTSNTSvc.exe 或 BTSNTSvc64.exe),它对 MessageBox 数据库产生额外的负载并消耗计算机资源,例如 CPU、内存和线程。除此之外,您还有以下原因没有配置太多额外的主机实例:
每个主机报告了多个性能计数器,粒度过大。这会影响需要遍历大量数据的管理员的可用性。这会对管理员的整体视图产生负面影响。
每个主机都会消耗大量内存,这可能会导致出现节流和性能下降的情况。
如果主机有接收适配器连续执行轮询,每台主机都会以较短的间隔轮询数据库,从而导致性能下降。
【讨论】:
正如你所读,没有明确的规则。
每个应用程序都应该有一个专用的主机/实例吗?当然,如果您的硬件应用程序数量相对较少。
如果一个应用程序有问题,这也是需要考虑的事情。
每个应用程序是否应该有单独的接收、发送或 Orch 主机?不,不开始。如果您观察到某个特定操作消耗了不成比例的大量资源,则将其拆分。
【讨论】: