负载均衡和高可用性配置

中小型企业需要一个轻量级的、易于配置的 EDI 解决方案,以便与大型零售商和医疗保健合作伙伴进行业务系统整合。因此,企业用户正在寻找一个稳定且数据日处理量高达数十万次的 EDI 解决方案。RSSBus Connect™ 是一个高度可扩展的 EDI 解决方案,能满足中小型企业及大型企业的实施需求。

RSSBus Connect™ 的单个实例已经能轻松满足大多数用户的需求,但是对于数据日处理量高达数十万次的大型企业,RSSBus Connect™ 可以被集成到更复杂的系统中。以下将详细介绍 RSSBus Connect™ 在高可用性和负载均衡环境中的配置步骤。

我应该在什么情况下配置负载均衡?

RSSBus Connect™ 是一个能够处理海量连接的企业级应用程序,通过利用可用的系统资源来处理收到的请求并发送消息。计算机的可用 RAM、CPU 速度、网络带宽和磁盘空间是 RSSBus Connect™ 系统最大吞吐量的主要限制因素。当日处理量达到成千上万次时,解决方法不是在一个 RSSBus Connect™ 系统中处理所有的传输,而是建立一个服务器集群。

在应用程序中部署多个实例的场景中,系统传输效率取决于您具体的配置情况(接收数据比发送数据需要占用更多的系统资源,且系统处理大文件会比处理小文件需要更强的处理能力)。当达到系统资源上限时,您可以考虑切换到服务器集群中实现负载均衡,使得多个服务器共同分担 RSSBus Connect™ 消息处理任务。

我应该在什么情况下配置高可用性?

对于大多数客户而言,与 EDI 服务器关闭数小时或数天的风险相比,配置高可用性仅仅增加了系统维护成本。即使在网络服务器资源丢失或不可用时,仍要确保系统最大的正常运行时间,那么您需要配置高可用性,以避免单点故障影响系统正常运行。那么,即使某个节点发生故障,服务器集群也会将收到的请求路由到新节点做进一步处理。

如何配置呢?

RSSBus Connect™ 可以通过几种不同的方式实现负载均衡或高可用性,但是在配置时需要完成以下两个主要操作:

1.您需要设置一个 We b服务器集群和负载均衡器,以便在多个 RSSBus Connect™ 中分配接收到的消息:

2.您需要在服务器集群中同步 RSSBus Connect™ 的所有安装信息,以便每个应用程序都使用相同的数据并维护相同的日志:

本文将展示如何完成这两项工作:

配置服务器集群和负载均衡器

有很多种设置服务器集群的方式,主要取决于您部署 RSSBus Connect™ 应用程序所使用的Web服务器,同样地也有很多方式可以用于负载均衡处理收到的请求。本文将重点介绍如何在 Microsoft IIS(Internet Information Services) 中配置Web服务器集群,并使用IIS的 Application Request Routing (ARR) 作为负载均衡器。

设置 Java 服务器集群,请参阅 Java Web 服务器相关文档。

负载均衡配置

您需要分配一些计算机作为服务器集群中的服务器,同时需要一台计算机作为 Application Request Routing (ARR) 负载均衡器。建议您选择 Windows Server 2012或更高版本的计算机作为负载均衡器,以便可以使用 ARR 3.0。

高可用性配置

如果要在服务器集群中的所有服务器之间同步数据,那么这些服务器需要共享文件系统资源,并可以访问共享数据库,因此建议您使用属于同一域名的服务器。如果您的Web服务器不在同一个域名中,就需要它们之间加载负载均衡资源,这样可能会无法成功地在服务器集群成员之间同步传输的文件和日志。

在服务器集群安装 RSSBus Connect™

您可以在知识库中找到在 IIS Web 应用程序或几个主流的Java Web服务器中部署 RSSBus Connect™ 的操作手册。

在服务器集群中的每个服务器上安装 RSSBus Connect™,您需要为每台服务器购买 License,但如果您仅是想测试此功能,则可以使用RSSBus Connect™ 的30天试用版

完成服务器集群配置后,下一步操作是与贸易伙伴建立通信。现在,给服务器集群的所有服务器安装 RSSBus Connect™,且在负载均衡器的服务器上安装 Application Request Routing (ARR),如下操作继续配置服务器集群。

配置 Application Request Routing (ARR)

Application Request Routing (ARR)是IIS的可选功能,您可以从 Microsoft 获取到 Web Platform Installer。下载 Web Platform Installer并搜索 Application Request Routing 3.0功能,如下所示:

完成 ARR 的安装后,您可以通过IIS管理器中 “Connections” 菜单下的新安装的 “Server Farms”模块:

创建 IIS 服务器集群

在 IIS 中创建服务器集群,步骤如下:

1.选择 “Connections” 菜单下的 “Server Farms”。

2.选择 “Server Farms”菜单下的 “Create Server Farm”。

3.给服务器集群以及服务器集群成员命名,并且可以新增服务器集群成员,只要该服务器可以访问 ARR 服务器的网络,则可以通过网络名称或IP将其定义为服务器集群成员:

4.您可以通过选择 “Connections”菜单下的 “Server Farms” 来管理服务器集群中的每一台计算机:

5.在 “Health Test” 选项中,您可以配置一个 URL 来测试集群中每台机器的运行情况,推荐您使用 RSSBus Connect™ 中配置的 Receiving URL(从 RSSBus Connect™ PROFILE界面获取)查看。

6.单击 “Verify URL Test”,您可以快速检查集群中每个节点的运行情况:

7.通过 “Load Balance” 菜单选项,您可以控制如何分配收到的请求。如果集群中的所有机器都是正常运行的,那么建议使用默认的“加权循环”分配方法:

同步服务器集群中的 RSSBus Connect™

给服务器集群的所有成员部署 RSSBus Connect™,它们都将在服务器集群中提供服务。如果您希望每个应用程序实例分别管理自己的资源,请继续执行下一步

如果需要同步 RSSBus Connect™ 的多个实例, RSSBus Connect™ 主要通过以下两种方式与本地系统进行交互:

1.应用程序使用 data 文件夹来存储重要的文件,包括:本地配置文件、端口(Port)配置文件、证书、端口(Port)处理的文档以及日志。

2.应用程序使用数据库来存储信息处理状态、应用程序的诊断信息以及日志。

为了与服务器集群中的每个实例共享这些信息,您需要使所有 RSSBus Connect™ 实例中的 data 文件和数据库配置信息一致。在.NET版本中,可以在应用程序的 Web.config 文件中重写 data 文件和数据库的信息。同样,您可以通过设置环境变量来集成 Java 版本的 Java Web 服务器。

注意:为了确保您的文件服务器和数据库不会出现系统上的单点故障,您需要在HA配置中配置文件服务器和数据库。

在应用程序的多个实例中使用共享 Data 文件夹

在应用程序安装路径下 www 文件夹中,您将找到一个 web.config 文件,该文件包含了 ASP.NET 应用程序配置信息。在这个文件末尾,您可以在 appSettings 元素中找到引用 AppDirectory 的注释部分:

可以更改此设置指向具有网络访问权限的共享文件夹,一旦配置成功, RSSBus Connect™ 中所有新增的合作伙伴配置信息都会创建在共享文件夹中。

请注意,如果要以这种方式使用 UNC 路径,那么将需要分配托管 RSSBus Connect™ 的应用程序池,且使用具有路径权限的域用户帐户进行身份验证。

如果您准备将服务器集群中所有实例的应用程序池部署到 IIS ,那么需要更改应用程序池标识,请执行以下操作(服务器集群中的实例进行如下操作,非ARR服务器):

  1. 在 “Connections” 菜单中展开您站点的节点,然后选择 “Application Pools” 。

  2. 右键单击 “Application Pools” ,然后单击 “Advanced Settings” 。

  3. 在生成的对话框中,单击 Identity 属性旁边的按钮。

如果需要指定现有帐户,请选择 “Built-in Account” 。 如果需要指定新帐户,请选择 “Custom Account” ,然后单击 “Set” ,输入账号和密码。

Java 部署注释:

RSSBus Connect™ 的 Java 版本将检查是否存在 APP_DIRECTORY 环境变量,以确定应用程序的 data 文件夹所在的网络路径。可以通过 startup.sh 脚本设置此变量,或者在Java应用服务器的服务器选项中定义变量。例如,在 Tomcat 中声明 “rssbus” 应用程序的变量,您可以在应用程序的 server.xml 的 Host 部分为应用程序添加一个新的 Context 条目:

在应用程序的多个实例中使用共享数据库

分布式 RSSBus Connect™ 部署使用共享数据库来管理 RSSBus Connect™ 处理的事务信息以及应用程序错误和日志。在前面提到的 web.config 文件中,您会发现另一个注释部分引用了 appSettings 元素中的 AppDb :

可以通过使用有效的数据库 connectionString 信息替换 web.config 的 connectionString 信息,将现有数据库修改成网络数据库服务器(如 SQL Server)。配置完成后,通过 RSSBus Connect™ 传输的任何新数据都会被添加到相应表中。 (如果数据库中不存在相应的表格,将在数据库中创建。)

Java部署注释

RSSBus Connect™ 的 Java Edition 不使用 web.config 文件,应用程序会检查是否存在 APP_DB 环境变量来确认 RSSBus Connect™ 数据库的 connectionString 信息, Java 配置支持 SQL 和 MYSQL 服务器。

也可以通过 startup.sh 脚本设置此变量,或者在 Java 应用服务器的服务器选项中定义变量。例如,要在 Tomcat 中声明 “rssbus” 应用程序的变量,您可以在应用程序的 server.xml 的 Host 部分为应用程序添加一个新的 Context :

下一步

现在, RSSBus Connect™ 可以分发请求了,接下来与您的贸易伙伴建立通信,并将 RSSBus Connect™ 与您的业务系统联系起来。您的贸易伙伴将通过您 PROFILE 连接中提供的信息与您建立连接,您需要使用端口(Port)绑定贸易伙伴连接。

分布式部署还可以将配置文件导出到每个实例,并将异步 MDN (消息处理通知)成功地路由到始发伙伴。详情请参阅我司官网知识库

有关 RSSBus Connect™ 的更多信息,请访问我们的主页。下载 RSSBus Connect™ 免费30天试用版,快速部署属于您的 EDI 解决方案!

文章分类 知识库