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