嗨,我是智能客服信服君!我能1秒钟解决您的问题
医院HIS负载+高可用集群部署案例
  

萌大爷 Lv7发表于 2018-2-12 22:19

本帖最后由 萌大爷 于 2018-2-23 15:38 编辑

医院HIS负载+高可用集群部署案例



一、概念介绍

HIS

       医院信息系统(Hospital Information System,HIS),亦称“医院管理信息系统”,是指利用电子计算机和通讯设备,为医院所属各部门提供对病人诊疗信息和行政管理信息的收集、存储、处理、提取及数据交换的能力,并满足所有授权用户的功能需求。
       医院管理信息系统是以辅助决策为主要目标,目的是为了提高医院管理和医疗工作的效率和水平。它包括以下四类系统:①行政管理系统。包括人事管理系统,财务管理系统,后勤管理系统,药库管理系统,医疗设备管理系统,门诊、手术及住院预约系统,病人住院管理系统等。②医疗管理系统。包括门诊、急诊管理系统,病案管理系统,医疗统计系统,血库管理系统等。③决策支持系统。包括医疗质量评价系统,医疗质量控制系统等。④各种辅助系统。如医疗情报检索系统,医疗数据库系统等。

高可用集群

       集群模式:集群模式下多个业务可以分散运行在多个设备上,并且实现互备,集群模式设备资源利用率高于双机主备模式。

       高可用集群:该模式下可以最多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)
小Q截图-20180223111923.png


b)两台设备配置为高可用集群模式(路径:web控制台--高可用性--模式)
小Q截图-20180223100058.png


c)在集群维护界面,点击状态点击启用,然后点击创建集群,如下图,选择管理IP、HA网口,填写HA IP、密钥等,然后配置集群名称和集群管理IP。(路径:web控制台--高可用性--集群)
小Q截图-20180223110354.png

d)把另一台也加入集群,这里选择加入集群,选择HA网口和配置HA IP(IP不相同),密钥相同即可。
小Q截图-20180223111035.png

e)点击登入集群,在集群登录界面输入默认用户名cluster和密码cluster,然后在(路径:web控制台--高可用性--成员管理)添加成员。
小Q截图-20180223112754.png
小Q截图-20180223112946.png
小Q截图-20180223105801.png

f)查看集群状态
看到集群的状态一台是主控一台是备控,健康状态都是在线表示集群目前是正常状态。
小Q截图-20180223105618.png

小Q截图-20180223145903.png
三、应用负载配置

3.1 业务口配置

静态IP地址配置(用于探测节点,节点健康检查用)
小Q截图-20180223115619.png 小Q截图-20180223115638.png

浮动IP配置(业务发布IP)
小Q截图-20180223115700.png

默认路由
小Q截图-20180223143006.png


3.2 应用负载配置
a)新建服务,端口范围配置为1-65535(HIS客户端会随机访问HIS服务器的其中一个端口)
小Q截图-20180223142140.png

b)新建IP组,IP填入业务口浮动IP。
小Q截图-20180223140909.png


c)新建节点池,节点监视器选择ping,由于客户端访问服务器的是随机端口,所以节点端口填0即可(表示1-65535所有端口)
小Q截图-20180223140856.png
小Q截图-20180223142228.png

d)新建TCP策略,勾选启用节点离线关闭连接功能。
小Q截图-20180223142326.png


e)新建虚拟机服务,关联刚才新建的HIS服务、IP组、节点池和TCP策略。
小Q截图-20180223142441.png
小Q截图-20180223142435.png



f)最后配置虚拟服务关联组(一般默认就生成)

虚拟服务关联组,编辑关联到对于应用组。
小Q截图-20180223142738.png

手动新建,虚拟应用组,高可用集群发布业务,一般一个业务只在固定一个设备生效的,这里选择主控设备为默认生效设备,当生效设备发生故障时,会迁移到节点设备运行。
小Q截图-20180223142657.png
小Q截图-20180223142702.png


四、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不同修改脚本,所以每台服务器的脚本是稍微不一样的。

五、高可用集群单臂部署应用负载案例基本部署完毕。除了上述案例,大家有没有例如高性能集群和高可用集群链路负载的案例呢?可以分享一下。

喜欢这篇分享吗?喜欢就给楼主打点赏吧!点个赞也是极大的鼓励!

发帖可获得5S豆;若您的分享被加精或推荐优秀等,将获得更多S豆奖励,了解更多S豆奖励信息

完善手机号和公司名称,让服务更省心更便捷!立即完善

萌大爷 Lv7发表于 2018-2-23 15:37
  
施工完毕,大家新年快乐。
ztbf Lv6发表于 2018-2-28 09:50
  
学习下,跟F5不一样
feeling Lv24发表于 2018-2-28 10:20
  
不错,很全面
萌大爷 Lv7发表于 2018-3-6 00:30
  
cncent Lv0发表于 2018-3-6 10:49
  
不错 很好  使用
yl2352 Lv8发表于 2018-3-6 15:00
  
学习一下,也许未来的某一天可以用到。
悠哉游哉 Lv2发表于 2018-5-9 20:18
  
学习学习~~