按照当前社会的发展,人口的流动加剧,异地就医,异地医保报销的需要越来越迫切,这就要求省级社保数据和市级社保数据的集中,各省之间的数据进行联网。
数据集中后,业务访问压力会增大,会存在网络和业务负载均衡的问题,在硬件或者软件方面做负载均衡,有没有好的建议和方案?
其实,要做到负载均衡,满足业务量和并发量的需求,在整个架构从上往下都有需要改进的地方。总体上的思路就是搭建横向扩展的集群架构。包括网络的负载均衡,应用的集群化改造,中间件的集群化部署,数据库的集群化部署。
应用、中间件的集群化比较简单也比较常规,对于数据库,目前的主要有Oracle RAC,DB2 purescale,SQL cluster。除了数据库做集群之外,还可以通过数据库读写分离进行性能优化。如果还需要优化,可以通过数据库拆库的方式进行细致优化,降低数据库服务器的压力。。。一点点来吧,先从比较简单的网络和应用层优化开始。
收起业务量增大,访问量增大,必然会给后台的业务系统、数据库等带来压力,这个时候可能成为性能瓶颈的包括硬件(主要是网络、服务器和存储)和软件(业务系统自身的并发处理能力、用户数、SQL语句的冗余等)
负载均衡主要是通过建立集群架构,统一对外提供虚拟IP服务,通过后台的最少连接、轮询、健康状态等算法,将前端的业务流分发给集群内相应的服务器资源来处理
目前负载均衡设备市场率高的也就是F5,国内主要安全厂商都有,属于应用交付类
如果后端的计算资源使用虚拟化架构的时候,前端搭配负责均衡设备,效果后更好
网络可以通过堆叠、链路捆绑等方式增加网络的吞吐量和带宽,非负载均衡来解决
收起其实就负载均衡来说,就我们的理解和应用情况来看,涉及多个层面,比如链路层面的负载均衡,应用层面的负载均衡,后端数据库层面的负载均衡等等。
这里提到的F5和A10一般都是用在应用层面或者链路层面。就应用层面来说,如果没有特殊要求,不论国内产品还是国外产品,基本都能够满足要求。但如果进一步提高应用要求,比如HTTPS的应用国内产品还是有差距的。
还有一个问题需要注意,F5在这个方面绝对是领军厂商,但一些功能是需要单独授权的才能使用的。
就数据库层面的负载均衡,主要是基于可靠性和负载均衡两个方面考虑,比如,双主机或者多主机的,基于ORACLE的RAC应用等等。当然还应该结合业务应用,数据库应用等多个方面的规划部署来实现。
收起我个人理解这个问题基本没有其他选择的余地,一定是硬件的,这也是业务系统特点所要求的。这方面国产品牌还是有较大差距(我们做过一些测试),一般业务的负载均衡都是选择如F5,A10等产品较多,不过在一些其他方面还是可以选择国产的,只要能够满足业务系统需求就可以。
收起从部署和管理方面来讲,还是应该选择硬件方面的负载均衡比较好,并且人社行业的业务特点和已经比较成熟的业务应用设计,多是基于WEBLOGIC中间的应用在使用,所以从业务应用的部署和后续管理方面等角度考虑,还是应该考虑硬件的负载均衡设备比较好。
至于功能,目前不论是国内品牌还是国外品牌,都能够满足基于三层应用的HTTP应用的快速部署应用,但从长远一点看,还是应该考虑一下或者具有基于HTTPS功能的业务应用来考虑,这方面我们已经做了部分功能的测试,它可以为进一步提高系统安全性方面做些准备工作。
收起目前提出的云架构方案,数据大集中,采用多台高性能服务器部署虚拟化,多套存储形成存储池,服务器虚拟化,存储虚拟化,可以在各种宿主机上面在线迁移。
收起