XXHIS负载+高可用集群部署案例
一、概念介绍
HIS
XX信息系统(Hospital Information System,HIS),亦称“XX管理信息系统”,是指利用电子计算机和通讯设备,为医院所属各部门提供对病人诊疗信息和行政管理信息的收集、存储、处理、提取及数据交换的能力,并满足所有授权用户的功能需求。 医院管理信息系统是以辅助决策为主要目标,目的是为了提高医院管理和医疗工作的效率和水平。它包括以下四类系统:①行政管理系统。包括人事管理系统,财务管理系统,后勤管理系统,药库管理系统,医疗设备管理系统,门诊、手术及住院预约系统,病人住院管理系统等。②医疗管理系统。包括门诊、急诊管理系统,病案管理系统,医疗统计系统,血库管理系统等。③决策支持系统。包括医疗质量评价系统,医疗质量控制系统等。④各种辅助系统。如医疗情报检索系统,医疗数据库系统等。
高可用集群
集群模式:集群模式下多个业务可以分散运行在多个设备上,并且实现互备,集群模式设备资源利用率高于双机主备模式。
高可用集群:该模式下可以最多16台设备组建成,一个服务只运行于一台设备之上,提供服务的这台设备即为这个服务的主设备,同时会选出一台设备作为该服务的备设备,当主设备故障时,备设备切换为主设备,继续提供该服务,多个服务可以分别运行在不同的设备之上,并互相作为备份。
COM+背景 许多Windows平台下C/S架构的应用是基于COM+技术开发的,尤其在医疗行业的HIS系统。 COM是Component Object Model (组件对象模型)的缩写。COM组建大致可以分成两种类型。 进程内组件:组件是在主调应用程序的进程范围内运行,是以DLL方式实现的。组件的实现是快速的,但由于和应用程序公用一个进程,导致了不安全的因素。 进程外组件:它又可分为两类。本地服务器进程组件,它是组件与调用组件者在同一机器上;远程服务器进程组件,它是组件使用远程过程调用RPCs和客户应用程序进行通信。 能够使用AD做负载均衡的就是远程服务器进程这种类型的组件,它的服务器进程和客户端不在同一机器上。
二、高可用集群配置
2.1 集群前提条件
1.软件版本一致 2.硬件平台一致 3.授权序列号一致(升级序列号除外) 4.两台设备的网口位置和顺序一致
2.2 设置步奏
a)在设备管理口,配置管理IP,作为集群管理口。(主控为192.168.100.1,节点为192.168.100.2)
b)两台设备配置为高可用集群模式(路径:web控制台--高可用性--模式)
c)在集群维护界面,点击状态点击启用,然后点击创建集群,如下图,选择管理IP、HA网口,填写HA IP、密钥等,然后配置集群名称和集群管理IP。(路径:web控制台--高可用性--集群)
d)把另一台也加入集群,这里选择加入集群,选择HA网口和配置HA IP(IP不相同),密钥相同即可。
e)点击登入集群,在集群登录界面输入默认用户名cluster和密码cluster,然后在(路径:web控制台--高可用性--成员管理)添加成员。
f)查看集群状态 看到集群的状态一台是主控一台是备控,健康状态都是在线表示集群目前是正常状态。
三、应用负载配置
3.1 业务口配置
静态IP地址配置(用于探测节点,节点健康检查用)
浮动IP配置(业务发布IP)
默认路由
3.2 应用负载配置 a)新建服务,端口范围配置为1-65535(HIS客户端会随机访问HIS服务器的其中一个端口)
b)新建IP组,IP填入业务口浮动IP。
c)新建节点池,节点监视器选择ping,由于客户端访问服务器的是随机端口,所以节点端口填0即可(表示1-65535所有端口)
d)新建TCP策略,勾选启用节点离线关闭连接功能。
e)新建虚拟机服务,关联刚才新建的HIS服务、IP组、节点池和TCP策略。
f)最后配置虚拟服务关联组(一般默认就生成)
虚拟服务关联组,编辑关联到对于应用组。
手动新建,虚拟应用组,高可用集群发布业务,一般一个业务只在固定一个设备生效的,这里选择主控设备为默认生效设备,当生效设备发生故障时,会迁移到节点设备运行。
四、COM+负载配置
4.1 COM+负载的技术点 1.健康检查 COM组件RPC调用时的数据流使用TCP协议,但和常用的HTTP协议不同,客户端首先连接服务器的135端口,接着服务端对客户端身份认证,然后服务端会根据需要动态分配一个随机的TCP端口,最后客户端再次发起连接,访问新的TCP端口。 不管COM组件是否安装、是否启用、是否正常,135端口都是正常可访问的。 Windows操作系统所有的组件都共用这个端口。 因此无法通过探测TCP端口的方式来判断组件是否正常运行。 2.故障切换 COM组件RPC调用使用的是长连接,因此当网络正常但组件进程出现故障时,客户端就会因为不能及时断开TCP长连接而导致不能被AD调度到其他正常的组件服务器。
4.2 方案实现原理 1.健康检查 原理是在组件服务器上安装脚本和插件,脚本定时检查COM组件的状态、CPU使用率、进程状态等等,判断COM组件是否正常运行。一旦发现异常,脚本通过adapi或命令行接口将组件服务器暂时踢出AD的负载均衡节点池。 对于网络异常,可以结合AD常规的PING监视器解决。 脚本语言使用的是vbs,这种脚本所有windows版本都默认支持,通用性比较好。 2.故障切换 原理是AD做七层全代理,当组件服务器健康状态出现异常时,AD主动断开客户端和组件服务器的TCP连接,使客户端能够重新调度到其他正常组件服务器。 4.3 配置方法 a)需要配置脚本,脚本和脚本配置方法找400或者研发索取即可。 b)脚本需要放到每一台HIS服务器(COM+中间件服务器),并且根据服务器对于的IP不同修改脚本,所以每台服务器的脚本是稍微不一样的。
五、高可用集群单臂部署应用负载案例基本部署完毕。除了上述案例,大家有没有例如高性能集群和高可用集群链路负载的案例呢?可以某公司。 |