经验分享:为何要为医疗信息集成平台选择集群架构?

Odin Editor, 21 二月, 2023
关键字

集群架构、平台选型、高并发、服务熔断、API网关、精细化资源管理

导读 

如集成平台每日业务量超过百万级,建议考虑采用集群架构。 

在一个普通的早高峰时段,一个急促的电话打破了医院信息中心的平静: “自助机卡住了,很多患者在抱怨,怎么办?” 

接到电话后,负责HIS、集成平台、自助机等项目的技术人员马上开始排查问题。 

“自助机响应超时,偶有链接断开。 ”“HIS接口响应较慢,但未看到有错误。 ”“集成平台信息处理速度慢,导致队列挤压超时。 ” 

20分钟后,三方技术人员汇总并确定了问题: 集成平台由于某个项目的请求量突发增高,后续系统处理跟不上,导致其他调用无法请求。 

处理方法: 关停此集成业务,业务恢复。 

事情解决了,但背后的问题却值得深思。 智慧医院建设不断向前,越来越多的应用和场景已打破了原有点对点的数据交换方式,转而通过医疗信息集成平台来实现消息的流转和分发,获取更加灵活、标化和可控的互操作能力。 同时,医院在业务层面也更加重视通过自助机和各类线上应用等手段,为患者提供更加优质便捷的服务。 

当集成平台的技术无法适应快速增长的信息化应用对集成和互操作的需求时,那么就会引发一次又一次这样的信息“灾难”。 应该怎样有效避免类似情况的发生呢? 

重应用,更需重视信息化的平台“基建” 

就像有人买车更多看重外观动力和内饰,并不在意发动机一样,医疗信息集成平台的使用者们往往沉浸于应用和系统功能带来的直接价值和“前卫”效果,而容易忽略这些场景应用下的底层技术支撑。 

实际上,在医院的生产环境中,作为提供这些应用效果所需数据和信息交互的核心中间件,集成平台实际上已成为全院信息化的“大动脉”,其重要性已经上升到与HIS、电子病历等核心系统的同等高度。 一个优秀的集成平台,必须体现出对各种集成业务的解决能力、平稳不间断的性能输出能力、可靠坚实的容灾保障能力等。 

这些对于集成平台的能力需求,都使得底层中间件架构面临严峻挑战。 对集成平台进行底层架构的重新定义,就成为了“破局”方式之一。 对于那些每日业务量超过百万级的集成平台而言,采用单/双机作为底层架构是否还合适? 笔者的看法是: 不合适了! 

如图1所示,目前笔者所在医院集成平台每日消息量已超过300万次,采用的架构方式是利用多台服务器构成集群,共同处理所有医院内的业务项目,任务分布到多台服务器上同时运行,集成引擎能实现对各类任务需求特征的自动区分,并进行不同的预处理,再由负载均衡功能进行工作任务的动态迁移。 

该方案能实现管理配置、生产作业、数据存储的分离,利用合理的技术架构实现一处配置、多点生产、数据一致的效果,同时具有统一配置的监控管理界面。 当出现异常时,集群架构能自动侦测并在其他服务器(节点)自动启动该任务的模块来进行处理,实现业务服务的自动故障转移,从架构上避免了单点故障的风险。 集群还能进行动态扩展,更好地保证集成平台的高可用性。 

 

集群架构的五大优势 

1.可扩展的负载均衡能力,满足高并发需求 

集群架构可以提升集成平台整体的处理能力,包括更高的TPS(事务数/秒)、更大的吞吐量、更多的并发数、更快的响应时间等,再经由负载均衡提供高效合理的动态任务分配机制,进一步提升了集成平台的总体运行效率。 即使面对多院区、集团化、区域化等大规模医疗数据应用场景,也能保证系统的高性能。 

2.服务熔断、降级等保护机制,让系统更稳定 

集群架构还需具备服务熔断和降级能力,当下游服务因访问压力过大而响应变慢或失败时,上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用。 由于医院内部各信息系统的性能参差不齐,集成平台承担了大量业务日常运行压力,如果一次查询的数据比较大,内存使用已在高位的情况下,在某一时刻很可能会出现内存过载导致响应超时甚至服务器宕机的状况。 通过集群架构的服务熔断和降级能力,可有效提升集成平台的抗压性,保护集成平台的稳定可靠。 

3.自定义部署策略及智能资源分配,使管理更精细 

对于不同场景下多样化的数据需求,在进行充分细致的梳理后,能分别由集群内的不同服务器节点进行处理,系统会根据各类任务需求的特征进行动态任务分配和管理。 

例如,集群架构中的系统能根据医院自助机的不同请求智能分配资源: 对于需要快速响应的查询类服务(如号源信息查询、医生排班查询等),将会自动分配给能同步并行处理数据的服务器节点,进行快速反馈; 而对于自助机中的操作类服务(如预约确认、预约取消、自助缴费等),更注重消息顺序和保证传输,则会分配给能进行异步处理的集群服务器节点。 通过自动区分需求特征并匹配给对应的集群服务器节点,可以提升资源利用率,使业务运行更加平滑。 

4.生产开发环境隔离,多人并行开发和规范的DevOps 

目前,笔者所在医院信息中心有40余位开发人员,在处理各类功能开发和日常运维等任务时,会采用多人同时上线的方式,以保证工作效率。 采用集群架构的集成平台在性能上能轻松支撑多人同时在线开发,在功能上分离了生产和开发环境,并提供了规范的DevOps流程管理,项目需要被审核确认后才会被部署至生产环境。 众人各司其职,做到“忙而不乱”。 

5.统一API网关管理,做好服务鉴权和访问管控 

随着集团下属各医院陆续上线互联网医院等功能,外部对数据的调用和查询需要通过开放API实现。 为了确保系统和数据的安全,需要控制账号的访问权限以及访问次数。 集群架构需要能实现统一的API网关管理,提供服务鉴权、访问管控等功能,帮助IT管理者更清晰地看到各接口之间的调用关系,并实现对系统间调用的监控。

 

结语 

随着各医院集成平台重要性的提升,其底层的技术架构也逐渐得到重视。 采用集群架构,不仅能够让医院更好体验到集成平台的价值,还能提升集成平台的稳定性、扩展性,更可以为医院持续推进互联互通、智慧医院建设打下了扎实的信息化底层架构基础。(作者任职于 浙江省台州医院信息中心 )

Odin文章评论:

如您在使用此平台时遇到问题,可发送邮件至:customer.service@odin.co.nz 获得帮助