当前位置:  开发笔记 > 数据库 > 正文

网络负载平衡Biztalk实例

如何解决《网络负载平衡Biztalk实例》经验,为你挑选了1个好方法。

有哪些好的文章/资源可以理解如何使用Biztalk配置负载平衡 - 无论是在产品的固有能力方面还是在使用NLB(Windows 2003或更高版本的网络负载平衡)方面?

编辑:我对应用程序协议对负载平衡的影响特别感兴趣?例如,当另一方(Biztalk向其发出连接请求)不允许多个连接等时,Biztalk服务器的两个实例如何处理TCP/IP连接.



1> David Hall..:

明显的资源是MSDN - 有一个名为Planning for High Activity的部分涵盖了大部分概念,并将为您提供正确的术语,然后在网上寻找其他资源.与许多Microsoft服务器产品一样,MSDN也有大量涉及特定BizTalk场景的白皮书.

大多数优秀的BizTalk书籍还包括有关负载平衡概念的部分(Professional BizTalk Server 2006有一个示例).

除此之外,您可能会发现有几个关键概念,特别是术语的使用(BizTalk的一些用法可能会产生误导).

负载均衡

根据其体系结构的性质,BizTalk Server是负载平衡.这意味着如果您有多个BizTalk主机连接到MessageBox数据库,数据库中的消息将均匀分布在参与BizTalk组的主机上.(注意BizTalk流程已配置为在每个主机中运行).

网络负载平衡的概念也是Microsoft网络负载平衡服务或任何等效服务.在BizTalk中,这适用于Web级别,适用于使用HTTP协议的接收适配器(例如HTTP适配器,SOAP适配器和WCF HTTP适配器).此负载平衡实际上不是BizTalk服务,而是在BizTalk隔离主机适配器之上提供的负载平衡层,以确保Web资源的高可用性.它的配置与任何其他NLB服务相同.

聚类

在BizTalk中提到群集时,它用于指代以下两种方法之一 - 在SQL层进行群集以提供高可用性和故障转移,以及BizTalk主机群集.

SQL群集 - 这很简单(尽管说起来并不简单,只是说)是提供运行BizTalk服务器数据库的SQL服务器群集,允许数据库故障转移.这不是BizTalk特定的技术.

BizTalk主机群集 - 在这种情况下,BizTalk Server主机在BizTalk中创建时标记为群集.这是一个特定于BizTalk的设置,它基本上表明一次只能运行一个主机实例,并且通过扩展,该主机中的所有资源也只有一个实例.它主要用于FTP和MSMQ适配器等适配器,当允许同时运行多个适配器时,它们的行为不正确.


此编辑是对OP的评论的回应,要求提供更多详细信息.希望这会让事情更加清晰.如果您对特定问题有更多疑问,我可以回答它们,但这几乎耗尽了我对高可用性环境配置的理论知识.我主要是一个BizTalk开发和解决方案设计师,当谈到网络错综复杂时,我工作的人员会填写这些设计的细节和实现.

基于HTTP的适配器的网络负载平衡

我试图在这里表达的关键点是,BizTalk环境中的网络负载平衡对于任何其他网络负载平衡方案都没有区别.

BizTalk有两种类型的主机,In ProcessIsolated.在进程中,主机是在服务器上运行的各个BizTalk服务(每个服务器有一个主机实例).隔离主机实际上是Web服务器(IIS)的委托,它处理所有基于HTTP的适配器(HTTP适配器和SOAP适配器以及WCF适配器的某些配置)

当您将网络负载平衡引入BizTalk环境时,您正在做的是在Web服务器层为隔离主机托管适配器引入它.

这是NLB简介的MSDN页面.关于NLB的一个关键点在以下引用的页面中表达:

网络负载平衡允许群集中的所有计算机通过同一组群集IP地址进行寻址(但也维护其现有的唯一专用IP地址).

通过设置NLB,您可以允许多个隔离的主机服务器处理针对单个专用IP地址的互联网流量.NLB配置完成了工作.

群集BizTalk适配器处理程序

在我上面的回答中,我声明某些BizTalk适配器在允许在多个BizTalk主机实例中运行时表现不正确.这就是为什么特定于适配器,所以我能给出的答案的最佳扩展是来自MSDN文档的以下引用,具体处理FTP适配器.

对于大多数BizTalk集成适配器,可以通过创建多个适配器处理程序以在BizTalk组中的不同BizTalk服务器上的BizTalk主机实例上运行来实现高可用性.但是,FTP适配器接收处理程序不应配置为同时在多个BizTalk主机实例中运行.之所以提出此建议是因为FTP接收适配器使用FTP协议从目标系统检索文件,并且FTP协议不会锁定文件以确保在运行FTP接收适配器的多个实例时不会同时检索同一文件的多个副本.

正如他们所说,FTP适配器使用不锁定文件的FTP协议.因为BizTalk本身是一个高度并行的系统,如果您允许多个BizTalk主机来托管FTP适配器的实例,您最终将获得收到BizTalk系统的同一FTP消息的多个副本.BizTalk集群所做的是确保任何集群BizTalk主机将在1个且仅1个主机实例上运行.通过将FTP接收处理程序放在集群主机中,可以确保:

只要BizTalk主机正在运行,您将始终运行FTP适配器

你永远不会有多个FTP适配器在运行.

此外,您可以使用BizTalk群集主机来减少系统负载.例如,BizTalk SQL适配器接收已配置为轮询的位置,将在所有主机实例上轮询.虽然这不一定会导致多个消息实例,但它可能会导致您轮询的SQL服务器出现过度负载,甚至根据被调用存储过程的设计创建死锁方案,因此集群SQL Adapter接收处理程序可能是一个好主意.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有