Biztalk Server 2009 - 故障转移群集和网络负载平衡 (NLB)

2024-02-22

我们正在计划设置 Biztalk 2009,其中有 2 个 Biztalk 应用程序服务器和 2 个数据库服务器(数据库服务器位于主动/被动集群中)。所有服务器都运行 Windows Server 2008 R2。

作为我们应用程序的一部分,我们将通过 MSMQ、FILE 和 SOAP 适配器接收传入流量。我们还需要高可用性和负载平衡。

假设我创建了两个不同的 Biztalk 主机,并将 FILE 接收处理程序分配给第一个主机,将 MSMQ 接收处理程序分配给第二个主机。我现在为两台主机中的每台创建两个主机实例(即为我的两台物理服务器中的每台创建一个)。

在查看了 Biztalk 文档后,这是我目前所知道的:

  • 对于FILE(接收),Biztalk将自动实现高可用性和负载平衡,因为我在组中的两台服务器中的每台服务器上都设置了一个主机实例。

  • MSMQ(接收)需要 Biztalk 主机群集来确保高可用性(但主机群集还需要设置 Windows 故障转移群集)。这里没有明确的负载平衡选项。

  • SOAP(接收)需要 NLB 来实现负载平衡和高可用性(如果一台服务器出现故障,NLB 会将流量引导到另一台服务器)。

这就是我完全困惑的地方,我迫切需要您的帮助:

  • Is it possible to have a Windows Failover Cluster and NLB set up at the same time on the two application servers?
    • 如果是,请告诉我如何做。
    • 如果不是,请向我解释一下,当 MSMQ 和 SOAP 的基本先决条件是相互排斥的时,他们是如何实现 MSMQ 和 SOAP 的高可用性和负载平衡的!


非常感谢您的帮助,
M


Microsoft 不支持在同一服务器上运行 NLB 和 MSCS

“这两个组件在运行于不同计算机上的两层或三层应用程序模型中可以很好地协同工作。请注意,由于群集服务和网络之间潜在的硬件共享冲突,Microsoft 不支持并且不建议在同一台计算机上运行这两个组件负载均衡。”http://support.microsoft.com/kb/235305 http://support.microsoft.com/kb/235305

如果要为 BizTalk 中收到的 SOAP 请求提供 HA,您应该将 BizTalk 服务器配置为处于同一 BizTalk 组中的主动/主动配置(无 MSCS)中。执行此操作后,您将在这两者之间安装配置 NLB。您的客户端将能够通过 NLB 群集查询 Web 服务,并且 NLB 服务会将请求路由到群集内的特定服务器(您的 asmx 文件应在两台服务器中安装和配置)。

关于 MSMQ,您到目前为止获得的信息是正确的,确保该适配器 HA 的唯一方法是对 BizTalk 服务器进行群集。如果您也想实现这一点,那么您必须为 SOAP 接收主机和 MSMQ 主机拥有单独的基础结构。

这种情况的主要原因是 BizTalk 隔离主机不支持群集,因此 BizTalk InProcess 主机可能会全部挂起,而隔离主机永远不会知道这一点,并会继续接收请求。

我目前正在设计一个非常相似的架构,因此如果您想分享更多评论或问题,可以通过以下方式联系我[电子邮件受保护] /cdn-cgi/l/email-protection

伊格纳西奥·基哈斯 微软 Biztalk 服务器专家

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Biztalk Server 2009 - 故障转移群集和网络负载平衡 (NLB) 的相关文章

  • 如何防止 BizTalk 2013/R2 WCF-WebHttp Rest SendPort 在 Http Status=400 上挂起

    我使用 WCF WebHttp SendPort 从 BizTalk 编排调用供应商的 REST 服务 即使我在具有scope exception的业务流程中捕获了此System Exception SendPort仍然处于挂起状态 是否有
  • 在负载平衡情况下使用 WCF 4.5 RemoteEndpointMessageProperty 获取客户端 IP 地址

    我在 IIS 中托管了 WCF 4 5 Restful 服务 我正在尝试使用 RemoteEndpointMessageProperty 获取客户端的 IP 地址 消耗该服务 Code 1 private string GetClientI
  • 负载均衡器 $_SERVER['REMOTE_ADDR'] 不工作

    我已改用 Amazon AWS Elastic Load Balancer 现在我获得了一个私有 IP 地址 SERVER REMOTE ADDR 用于向我提供客户端的 IP 地址 现在如何获取客户端 IP 地址 您的网络服务器接收来自 A
  • BizTalk 内部和外部架构

    我在网上读到 您将 外部模式 与 内部模 式 分开 并且永远不要将 内部模式 暴露给任何外部参与者 如果我的解决方案仅充当消息总线来在两个现有系统之间创建松散耦合 我真的需要任何内部模式吗 System A makes a Request
  • 如何在tomcat访问日志中记录Client IP和X-Forwarded-For IP

    如何在 tomcat 访问日志中记录 Client IP 和 X Forwarded For IP 我正在使用 X Forwarded For i 如果我通过负载均衡器访问 它会记录实际的客户端地址 但如果我直接访问 tomcat 实例 则
  • Web 服务或 Web 服务

    我正在创建一个应用程序 该应用程序将与安装 WCF Web 服务的单个服务器进行通信 我对这个过程有点陌生 想知道从长远来看 这两个选项中哪一个更适合处理大量用户的负载 1 在多核服务器上创建并安装单个 Web 服务 以便所有客户端应用程序
  • 负载平衡线程请求百分比

    我有一个工作线程池 我在其中根据百分比向它们发送请求 例如 工作人员 1 必须处理总请求的 60 工作人员 2 必须处理总请求的 31 最后工作人员 3 必须处理 9 我需要从数学上知道如何缩小数字并保持比率 这样我就不必向线程 1 发送
  • XSLT foreach 重复节点转为扁平化

    我有一个 XML 模式 需要从中提取值 但运气不太好 源架构是
  • 使用 Erlang,我应该如何在集群之间分配负载?

    我正在查看从属 池模块 它看起来与我的类似 想要 但似乎我的系统中存在单点故障 应用程序 如果主节点出现故障 客户端有一个网关列表 为了后备 全部都做 相同的东西 接受连接 并且从其中选择一个 由客户随机 当客户端连接所有节点时 检查哪个负
  • 如何在不使用 LoadBalancer 类型的情况下发布 Kubernetes 服务(在 GCP 上)

    我想避免使用type LoadBalancer 对于某个 Kubernetes Service 但仍然能够将其发布到互联网上 我正在使用 Google Cloud Platform GCP 来运行当前在单个节点上运行的 Kubernetes
  • Biztalk Log4Net [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人在 Biztalk 中使用过 log4net 吗 我们目前正在考虑使用它 并试图了解它的优点 缺点 以及它是否能满足我们的需求 我已经将 L
  • 集群模式下的 Spring 入站集成

    我们正在使用 spring 入站轮询适配器来检查文件并处理它 问题是进程正在集群模式下运行多个节点 我们的测试环境使用两个节点的负载平衡 要求是在一个节点上启动此轮询过程 我们怎样才能在不创建两个 war 文件的情况下实现这一目标 我们不应
  • 为什么终止挂起(不可恢复)的服务实例会返回 Failed,但它已终止

    为什么终止挂起 不可恢复 的服务实例报告失败 但却被终止 在 挂起 可恢复 和 挂起 不可恢复 实例上使用 Microsoft BizTalk Operations BizTalkOperations TerminateInstance 路
  • 跨负载平衡服务器的选择性缓存清除 (ASP.Net)

    我们有一个在两台负载平衡服务器上运行的网站 我们使用 ASP Net 缓存来通过缓存高使用率数据来帮助提高性能 但是 数据有时会发生变化 当它发生时 我们需要清除两个负载平衡服务器上的相关缓存项 有没有人对如何做到这一点有一些易于实施的建议
  • Keycloak invalid_token 未找到指定孩子的公钥

    我正在使用 keycloak 来保护我的休息服务 并且我能够获取令牌 但是当我使用此令牌来获取我的休息服务响应时 出现以下错误 HTTP 1 1 401 Unauthorized Cache Control no cache no stor
  • Rancher - 如何公开我的服务?

    我有一个正在运行的 Rancher 设置 如下所示 主机 运行牧场主 https github com rancher rancher容器 在公共IP上 无法从 Internet 访问专用网络 10 1 1 0 24 中的节点 我的目标是使
  • 如何平衡Web服务器带宽使用?

    我有一个 drupal 商务网站 用户一直在其中上传大量图像 每个商业订单有 n 个图像 我想平衡网络流量以节省带宽 每个服务器的带宽是有限的 我无法使用传统的负载平衡解决方案 因为平衡器服务器的带宽也有限 我的数据库将位于单独的服务器上
  • Google 负载均衡器 www 到非 www 重定向

    我在使用 google 负载均衡器进行 www 到非 www 重定向时遇到一些困难 目前我的 HTTP gt https 工作没有问题 但是 我还没有真正看到任何关于其工作原理的最新文档 我的负载均衡器设置可以运行 App Engine A
  • 如何使用 haproxy 负载均衡器 Kafka Bootstrap?

    我有一个 kafka 集群 由 3 台在 AWS 上运行的机器组成 卡夫卡1到卡夫卡3 我正在使用新型卡夫卡消费者 gt 0 8 我知道kafka客户端连接到其中一台kafka服务器 获取服务器元数据 然后直接连接到代理 我想确保在代理发生
  • Biztalk 2009 和 2010 .btproj 项目中的增量构建支持吗?

    在追求增量构建时间改进时 我发现 btproj 文件以及依赖于这些文件的所有其他项目都会在每个增量构建上 部分 重建 一直跟踪到 BizTalkCommon targets 我发现它对程序集进行了 2 遍编译 但只有第一遍尊重已经构建的工件

随机推荐

  • 多处理管道 send() 块

    根据Python文档 只有recv 阻止但不阻止send 我编写了以下代码尝试制作 GUI 数独游戏 我这样做的方式是即使我可以更新游戏板tkinter正在执行其mainloop 然而 在测试运行过程中 我发现如果我在游戏更新时关闭窗口 p
  • 跨域 AJAX/Javascript - 人为地使用 sessionid

    我目前有一个 RESTful Web 服务 它通过会话识别客户端 我有一个客户端 它使用 ajax javascript 来访问 RESTful Web 服务的内容 我通过使用标头响应请求来允许这种情况发生 Access Control A
  • Python套接字:无效的起始字节

    我正在使用 Python 套接字来接收文件 但是 有时我会收到以下错误 Traceback most recent call last File C Users Sharkoon Nextcloud Elektronik pythonPro
  • 在渲染期间设置 glTexParameteri() 是否不好?

    我面临纹理包裹问题 这会导致伪影 由于我的代码库已经变得巨大 我能想到的唯一方法是执行某些检查 看看某些纹理是否属于导致伪影的类别 并在绘制到渲染缓冲区之前更改参数 那么一般情况下是可以的吗 设置参数 例如 glTexParameteri
  • 找不到任何要加载的固定装置服务

    我知道这个问题已经被问过多次 Symfony 3 4 和 Fixtures Bundle 捆绑版本 3 0 存在问题 https stackoverflow com questions 50252845 symfony 3 4 and fi
  • 在 64 位系统上向 Linux Kernel 3.13 添加新的系统调用

    我正在尝试添加一个简单的helloworld系统调用kernel 3 13 0 37 generic在 64 位系统上 我将尝试逐步展示到目前为止我所做的事情 1 我已经通过以下方式下载了内核源代码 sudo apt get source
  • Haskell 中句柄是半封闭错误?

    我在 GHCI 中收到此错误 Exception
  • KeyError:“没有 [Int64Index([ 12313,\n , 34534],\n dtype='int64', leng

    官方指南 我正在尝试使用官方 scikitlern 的最新示例代码分层K折 https scikit learn org stable modules generated sklearn model selection Stratified
  • 创建项目后可以在android studio中更改公司域名吗?

    当我在 android studio 中创建 android 项目时 我发现了字段 公司域名 我首先使用一些名称创建了该字段 现在我想更改该公司的域名 可以改变吗 请帮我解决这个问题 您可以使用以下步骤更改域 对于您的示例 您正在尝试更改域
  • 将函数局部变量导出到环境

    考虑以下代码 usr bin bash t export declare dummy Hello export dummy echo dummy dummy echo printenv dummy printenv dummy t expo
  • C++0x const RValue 引用作为函数参数

    我试图理解为什么有人会编写一个需要常量右值引用 在下面的代码示例中 const 右值引用函数 返回 3 的用途是什么 为什么重载解析优先考虑 const Rvalue 而不是 const LValue 引用函数 返回 2 include
  • 如何将列表中的每个项目与其余项目仅比较一次?

    假设我有一个要比较的数组 列表 在我更熟悉的语言中 我会做类似的事情 for int i 0 i lt mylist size i for int j i 1 j lt mylist size j compare mylist i myli
  • 如何使用 OpenSSL 安装使 QSslSocket 支持 SSL?

    我正在尝试运行一个简单的客户端 服务器来使用 QSslSocket 实现通信 我在 Windows 上工作 不幸的是 为了更方便我使用 QtCreator 当我尝试从客户端使用连接到服务器时MyQSslSocket gt connectTo
  • 有没有验证 SQL 语法的 Java 库? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 连接字符串中的经典 ASP 集成安全性

    我有旧的经典 ASP 应用程序 不是 asp net 需要对其进行配置才能使用 Microsoft SQL Server 2008 它与以下配置字符串配合使用效果很好 SERVER myServer DRIVER SQL SERVER DA
  • 有没有办法全局排除 Maven 依赖项?

    我试图找到一种 通用 方法来排除传递依赖项 而不必将其从依赖于它的所有依赖项中排除 例如 如果我想排除 slf4j 我会执行以下操作
  • QTreeWidget(为项目应用样式)

    我有一个树小部件 树中有三个级别 如下所示 Example Tree LEVEL1 LEVEL2 LEVEL2 LEVEL3 LEVEL3 LEVEL2 LEVEL2 LEVEL1 我想根据项目的级别应用不同的样式 以便我可以对 LEVEL
  • 如何为laravel的基本URL设置子目录?

    通常 laravel 会自动检测基本 url 但是 当在控制台中通过命令行调用该函数时 这是不可能的 因此 根据path to laravel folder public config app php 有一个名为url 根据官方注释 应该是
  • 从 boost::hash 获取 32 位哈希值

    我在用boost hash获取字符串的哈希值 但它在 Windows 32 位和 Debian 64 位系统上为同一字符串提供不同的哈希值 那么我怎样才能使用相同的哈希值 32位或64位 boost hash与平台无关 与什么有关的保证bo
  • Biztalk Server 2009 - 故障转移群集和网络负载平衡 (NLB)

    我们正在计划设置 Biztalk 2009 其中有 2 个 Biztalk 应用程序服务器和 2 个数据库服务器 数据库服务器位于主动 被动集群中 所有服务器都运行 Windows Server 2008 R2 作为我们应用程序的一部分 我