知行 EDI 系统的单个示例已经能轻松地满足大多数企业的自动化传输需求,但是对于数据日处理高达十万次的大型企业,知行 EDI 平台可以被集成到更复杂的系统中。本文中,我们将介绍在 Azure 门户如何使用公共负载均衡器对 VM 进行负载均衡。负载均衡器可以将传入请求分布到多个虚机,从而提高更高级别的可用性和伸缩性。
在开始之前,请提前注册一个微软 Azure 云账号,注册地址:https://portal.azure.com/。注册完成后,登录到 Azure 门户网站,准备开始创建负载均衡器啦。
创建负载均衡器
1. 在屏幕左上方,选择“创建资源” > “网络” > “负载均衡器”。
2. 在“创建负载均衡器”页的“基本”选项卡中输入或选择以下信息,接受其余的默认设置,然后选择“查看 + 创建”:
- 这里的“区域”,可根据实际需求选择。
3. 在“查看 + 创建”选项卡中,选择“创建”。
创建负载均衡资源
这部分我们将为后端地址池和运行状况探测配置负载均衡器设置,并指定均衡器规则。
创建后端池
若要向 VM 分发流量,后端地址池需包含连接到负载均衡器的虚拟 NIC 的 IP 地址。 创建后端地址池 myBackendPool 以包含用于对 Internet 流量进行负载均衡的虚拟机。
(1)在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择“myLoadBalancer”。
(2)在“设置”下,依次选择“后端池”、“添加”。
(3)在“添加后端池”页上,键入 myBackendPool 作为后端池的名称,然后选择“添加”。
创建运行状况探测器
若要允许负载均衡器监视应用的状态,请使用运行状况探测器。 运行状况探测器基于其对运行状况检查的响应,在负载均衡器中动态添加或删除 VM。 创建运行状况探测 myHealthProbe 以监视 VM 的运行状况。
(1)在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择“myLoadBalancer”。
(2)在“设置”下,依次选择“运行状况探测”、“添加”。
(3)选择“确定”。
创建负载均衡规则
负载均衡器规则用于定义将流量分配给 VM 的方式。 定义传入流量的前端 IP 配置和后端 IP 池以接收流量,同时定义所需的源端口和目标端口。 创建负载均衡器规则 myLoadBalancerRuleWeb,以侦听前端 FrontendLoadBalancer 中的端口 80,并将经过负载均衡的网络流量发送到也使用端口 80 的后端地址池 myBackEndPool。
(1)在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择“myLoadBalancer”。
(2)在“设置”下,依次选择“负载均衡规则”、“添加”。
(3)请使用以下值配置负载均衡规则:
(4)将剩余的字段保留默认设置,然后选择“确定”。
创建后端服务器
在这里,我们将创建一个虚拟网络,为负载均衡器的后端池创建两台虚拟机,以便对负载均衡器进行测试。
创建虚机网络
1. 在屏幕的左上方选择“创建资源”>“网络”>“虚拟网络”,或者在搜索框中搜索“虚拟网络”。
2. 在“创建虚拟网络” 的“基本信息”选项卡中输入或选择以下信息 :
3. 选择“IP 地址”选项卡 ,或选择页面底部的“下一步: IP 地址”按钮。
4. 在“IP 地址” 选项卡上,输入以下信息:
5. 在“子网名称” 下,选择词语“默认”
6. 在“编辑子网”中输入以下信息:
7. 选择“保存”。
8. 选择“查看 + 创建” 选项卡,或选择“查看 + 创建” 按钮。
9. 选择“创建” 。
创建虚拟机
公共 IP SKU 和负载均衡器 SKU 必须匹配。 对于标准负载均衡器,请使用后端池中具有标准 IP 地址的 VM。 在这里,我们将在两个不同的区域(区域 1、区域 2)中创建具有标准公共 IP 地址的两个 VM(myVM1、myVM2 ),这些 VM 将稍后添加到前面创建的负载均衡器后端池。
1. 在门户左上角,选择“创建资源” > “计算” > “Windows Server 2019 Datacenter”。
2. 在“创建虚拟机”中,在“基本信息”选项卡中键入或选择以下值:
- 订阅 > 资源组:选择“myResourceGroupSLB”。
- 实例详细信息 > 虚拟机名称:键入 myVM1。
- 在“实例详细信息” > “区域”中,选择“西欧”,这里可根据实际需求选择区域。
- 在“实例详细信息” > “可用性选项”中,选择“可用性区域”。
- 在“实例详细信息” > “可用性区域”中,选择“1”。
- 管理员帐户 > 输入用户名、密码和确认密码信息 。
- 选择“网络” 选项卡,或选择“下一步: 磁盘”,然后选择“下一步: 网络”。
3. 在“网络”选项卡中,确保选中以下项 :
- 虚拟网络:myVnet
- 子网:myBackendSubnet
- 在“公共 IP”中选择“新建”,然后在“创建公共 IP 地址”窗口中,为“SKU”选择“标准”,为“可用性区域”选择“区域冗余”,然后选择“确定”。如果创建了基本负载均衡器,请选择“基本”。Microsoft 建议将标准 SKU 用于生产工作负荷。
-
若要创建新的网络安全组(简称 NSG,一种防火墙),请在“网络安全组”下选择“高级”。
a. 在“配置网络安全组”字段中,选择“新建”。
b. 键入 myNetworkSecurityGroup,然后选择“确定”。
-
若要使 VM 成为负载均衡器后端池的一部分,请完成以下步骤: a. 在“负载均衡”中,对于“将此虚拟机置于现有负载均衡解决方案之后?”,请选择“是” 。
b. 在“负载均衡设置”中,为“负载均衡选项”选择“Azure 负载均衡器”。
c. 对于“选择负载均衡器”,请选择“myLoadBalancer”。
d. 选择“管理”选项卡,或者选择“下一步” > “管理”。
-
在“管理”选项卡的“监视”下,将“启动诊断”设置为“关闭”
-
选择“查看 + 创建”
-
检查设置,然后选择“创建”
4. 按照第 2 到第 6 步,创建myVM2,“名称”为myVM2,“可用性区域”选择2,其他设置与 myVM1 相同。
创建 NSG 规则
在这里,将创建一个网络安全组规则,以允许使用 HTTP 进行入站连接。
1. 在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择位于“myResourceGroupSLB”资源组中的“myNetworkSecurityGroup”。
2. 在“设置”下,依次选择“入站安全规则”、“添加”。
3. 为名为 myHTTPRule 的入站安全规则输入以下值,以允许来自端口 80 的入站 HTTP 连接:
- 源:服务标记
- 源服务标记:Internet
- 目标端口范围:80
- 协议:TCP
- 操作:Allow
- 优先级:100
- 名称:myHTTPRule
- 说明:“允许 HTTP”
4. 选择 添加 。
5. 如果需要,请使用以下不同值对入站 RDP 规则重复上述步骤:
- 目标端口范围:键入“3389” 。
- 优先级:键入“200” 。
- Name:键入 MyRDPRule。
- 说明:键入“允许 RDP” 。
安装知行 EDI 系统
以上创建完成后,可以在 VM1 和 VM2 上安装 知行 EDI 系统,这里以 VM1 举例。
本地使用 SSH 或 Xshell 连接到 VM1 虚拟机,从这里可以看到 VM1 的IP地址是:XXX.XXX.XXX.XXX,SSH 端口是 22,用户名和密码是在创建 VM1 的时候设置。
登录到 VM1 虚拟机,也可以用其他方式登录。
接下来,准备安装知行 EDI 系统,首先需要安装JDK,这里就不做详细的描述了,但需要注意的是 VM1 和 VM2 上安装的 EDI 系统访问的端口必须保持一致,这里使用默认端口8080。注意需要在 myVM1-nsg 的入站规则添加8080端口,以便外界访问:
以上步骤对于 VM2 是一样的。
安装 EDI 系统之后,在 About 页面激活30天试用 license,这里需要注意激活 license arcesb.lic 文件会默认存放在与 data 平级的目录下,需要将其剪切到运行 EDI 系统的当前用户的目录下:~/.ArcESB/arcesb.lic,~ 表示当前用户目录。
创建存储账户
安装 EDI 系统后,需要创建存储账户,用来共享 EDI 系统上所有的端口配置、发送/接收的文件以及交易的日志。
在屏幕左上方选择“创建资源”>“存储账户”
*注意必须创建为之前的资源组下的存储账户,设置存储账户名称,这里是:arcesb。
点击“下一步”,选择“创建”。创建成功后,需要建立一个共享目录,这里是/mnt/arcesb,用于共享数据,存放data目录。
执行以上命令,password 可以在这里获取:
如果Permission denied,检查下这里防火墙设置,如下:
防火墙设置完成后, 需要在服务器上执行mount命令,命令如下
1 2 |
<!-- Code goes here --> mount -t cifs <LocalPath> <FileShareMountPoint> -o vers=3.0,username=<username>,password=<password>,dir_mode=0777,file_mode=0777,sec=ntlmssp,cache=none |
这样,/mnt/arcesb共享路径设置好了,测试往共享目录创建一个test.txt文件,成功了。 接下来,我们需要修改下ArcESB安装目录下的/ArcESB/webapp/arcesb.xml文件中的data folder路径,参考如下(这里还需要设置日志存放数据库的配置信息,下面会详细介绍):
到这里存储账户就设置成功了,将会把ArcESB的data目录都存放在/mnt/arcesb下:
查看下VM1中的共享目录:
创建数据库
接下来我们会创建数据库,存放所有交易日志:
在屏幕左上方选择“所有服务”>“数据库”>“AzureSQL”,创建。
*注意必须创建为之前的资源组下的数据库,设置数据库名称,这里是:arcesb。
需要新建服务器,这里命名为arcesb,即服务器管理员登录名为:arcesb, 服务器名称会自动变为arcesb.database.windows.net 密码自行设置,比如password。
其他直接点击下一步,并创建。
在这里需要下载驱动程序,将下载的 mssql-jdbc-8.2.2.jre8.jar 数据库驱动放置在 /ArcESB/lib 目录:
用本地的SQLServer客户端可以登录到数据库,登录信息host可以在这里查看,用户名和密码是在创建数据库的时候设置的。
另外,这里记得修改webapp/arcesb.xml中的APP_DB连接信息,参考如下:
1 2 3 4 |
<Call name="setInitParameter"> <Arg>APP_DB</Arg> <Arg>jdbc:sqlserver://arcesb.database.windows.net:1433;database=ArcESB;user=arcesb@arcesb;password=password;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;</Arg> </Call> |
最后,我们一起查看下所有已创建的资源。
访问虚机上的 EDI 系统:http://外网IP:8080/。
注:文案部分内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。