网络负载平衡Biztalk实例 [英] Network Load Balancing Biztalk Instances

查看:88
本文介绍了网络负载平衡Biztalk实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从产品的固有功能以及采用NLB(Windows 2003或更高版本的网络负载平衡)的角度来看,有什么好的文章/资源可以了解如何使用Biztalk配置负载平衡?

What are some good articles/ resources to understand how load balancing is configured with Biztalk --- both in terms of inherent abilities of the product as well as employing NLB (network load balancing with Windows 2003 or later editions)?

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

I am specifically interested in the impact of application protocol on load balancing? For example, how two instances of Biztalk server handle TCP/IP connections when the other party (to which Biztalk makes a connection request) doesn't allow more than one connection, etc.

推荐答案

显而易见的资源是MSDN-有一个名为

The obvious resource is MSDN - There is a section entitled Planning for High Activity that covers most of the concepts and will give you the right terminology to then go looking for other resources on the web. As with a lot of Microsoft server products, MSDN also has lots of white papers covering specific BizTalk scenarios.

最优秀的BizTalk书籍还包括有关负载平衡概念的部分(BizTalk Server 2006专业版提供了一个示例).

Most good BizTalk books also include a section on load balancing concepts (Professional BizTalk Server 2006 has an example).

除此之外,还有一些关键概念可能会有所帮助,尤其是在术语使用方面(BizTalk的某些用法可能会产生误导).

Beyond that, there are several key concepts that you may find helpful, particularly around the use of terminology (some of BizTalk's usage can be misleading).

负载平衡

BizTalk Server具有其体系结构的性质,可以实现负载平衡.这意味着如果您有一个以上的BizTalk主机连接到MessageBox数据库,则数据库中的消息将在BizTalk组中参与的主机之间平均分配. (有关在每个主机中运行的BizTalk进程的配置方面的警告).

BizTalk Server is, by the nature of its architecture, load balancing. What that means is that if you have more than one BizTalk Host connecting to a MessageBox database, the messages within the database will be spread evenly across the hosts participating in the BizTalk group. (with caveats around just what BizTalk processess have been configured to run in each Host).

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

There is also the concept of Network Load Balancing which is Microsoft Network Load Balancing Services or any equivalent service. In BizTalk this applies at the web level, for receive adapters using the HTTP protocol (e.g. the HTTP adapter, the SOAP adapter and WCF HTTP adapters). This load balancing is not actually a BizTalk service but is instead a load balancing layer provided on top of the BizTalk isolated host adapters to ensure high availability of the web resources. It is configured the same as any other NLB service.

集群

在BizTalk中提到群集时,它是指两件事之一-在SQL层上提供高可用性和故障转移的群集,以及BizTalk主机群集.

When clustering is mentioned in BizTalk it is used to refer to one of two things - clustering at the SQL layer to provide high availability and failover, and BizTalk Host Clustering.

SQL群集-这只是提供运行BizTalk服务器数据库的SQL Server群集(允许进行数据库故障转移)的一个问题(尽管说起来并不容易).这不是BizTalk专用技术.

SQL Clustering - this is simply (though it isn't simple to do, just say) a matter of providing a SQL server cluster that runs the BizTalk server databases, allowing for database failover. This is not a BizTalk specific technology.

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

BizTalk Host clustering - in this case a BizTalk Server Host is marked as being clustered when creating it inside BizTalk. This is a BizTalk specific setting that essentially states that one and only one instance of the host will be running at a time, and that by extension all the resources within this host will also only have a single instance. It is primarily intended for usage for adapters like the FTP and MSMQ adapters that behave incorrectly when more that one is allowed to run at the same time.

此编辑是对OP的评论的回应,要求提供更多详细信息.希望这可以使事情变得更清楚.如果您对具体问题还有更多疑问,我可以回答,但这几乎耗尽了我对高可用性环境配置的理论知识.我主要是BizTalk开发人员和解决方案设计师,当涉及到网络复杂性时,有很多人在我这里工作,他们填写了这些设计的细节和实现.

This edit is in response to the OP's comment asking for further details. Hopefully this make things clearer. If you have more questions about specifics I can possibly answer them but this pretty much exhausts my theory knowledge about high availability environment configuration. I'm primarily a BizTalk dev and solution designer, when it comes to network intricacies there are people where I work who fill in the nitty gritty detail and implementation of these designs.

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

我在这里要表达的重点是,BizTalk上下文中的网络负载平衡与其他任何网络负载平衡方案都没有什么不同.

The key point I was trying to express here was that Network Load Balancing in the context of BizTalk is no different for any other Network Load Balancing scenario.

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

BizTalk has two type of hosts, In Process and Isolated. In Process hosts are individual BizTalk services running on servers (with one host instance per server). Isolated hosts are actually delegates to a web server (IIS) that handle all HTTP based adapters (the HTTP adapter and the SOAP adapter plus certain configurations for the WCF adapter)

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

When you introduce Network Load Balancing to a BizTalk environment what you are doing is intoducing it at the web server layer, for the Isolated host hosted adapters.

这是 NLB简介的MSDN页面.有关NLB的要点之一在页面中的以下引号中表示:

Here is the MSDN page for the introduction to NLB. One of the key points about NLB is expressed in the page in the following quote:

网络负载平衡允许所有 群集中要使用的计算机 由同一组集群处理 IP地址(但也保留其 现有的独特专用IP 地址).

Network Load Balancing allows all of the computers in the cluster to be addressed by the same set of cluster IP addresses (but also maintains their existing unique, dedicated IP addresses).

通过设置NLB,您可以允许多个隔离的主机服务器处理定向到单个专用IP地址的Internet通信. NLB配置负责这项工作.

By setting up NLB you allow multiple isolated host servers to handle internet traffic directed at a single dedicated IP address. The NLB configuration farms out the work.

集群BizTalk适配器处理程序

在上面的回答中,我说过某些BizTalk适配器在允许在多个BizTalk主机实例中运行时行为不正确.这是针对适配器的原因,因此,我可以给出的最佳答案是来自

In my answer above I stated that certain BizTalk adapters behave incorrectly when allowed to run within multiple BizTalk Host Instances. This is very adapter specific in terms of the why, so the best expansion on that answer I can give is the following quote from the MSDN documentation, dealing with the FTP adapter specifically.

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

For most of the BizTalk integrated adapters, high availability can be achieved by creating multiple adapter handlers to run on BizTalk host instances on different BizTalk servers within a BizTalk group. FTP adapter receive handlers should not, however, be configured to run in multiple BizTalk host instances simultaneously. This recommendation is made because the FTP receive adapter uses the FTP protocol to retrieve files from the target system and the FTP protocol does not lock files to ensure that multiple copies of the same file are not retrieved simultaneously when running multiple instances of the FTP receive adapter.

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

As they say, the FTP adapter utilises the FTP protocol which does not lock files. Because BizTalk is natively a highly parallel system, if you allowed multiple BizTalk hosts to host an instance of the FTP adapter you would end up with multiple copies of the same FTP message received into your BizTalk system. What BizTalk clustering does is ensure that any clustered BizTalk hosts will run on 1 and only 1 host instance. By placing your FTP receive handler inside a clusterd host, you ensure that:

  • 只要BizTalk主机正在运行,您将始终有一个FTP适配器运行
  • 您永远不会运行多个FTP适配器.

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

Additionally you can use a BizTalk clustered host to reduce load on a system. For example, a BizTalk SQL adapter receive location that has been configured to poll, will poll on all host instances. While this would not necessarily cause multiple message instances, it could cause undue load on the SQL server you poll, or even create deadlock scenarios depending on the design of the called stored procedure, so clustering the SQL Adapter receive handler can be a good idea.

这篇关于网络负载平衡Biztalk实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆