本帖最后由 常鸿 于 2022-9-24 20:50 编辑
来一篇硬核的方案
在一些大型企业或者金融行业中,经常会有搭建主备数据中心的环境
为了保障业务的不间断性,异地双活的环境,不管是对内还是对外提供业务,如何及时的切换,如何有效的利用资源,这成了数据中心建设中,必须要考虑的重点。
我服的拳头产品,应用交付,在主备数据中心建设中,正好可以发挥他强大的功能
我绘制一下大概的拓扑:
首先说一下主备数据中心业务建设的注意要素: 1、所有业务都用域名来进行访问,使用域名比使用IP地址灵活太多了,使用域名对接,即使后面调整服务器什么的,只需要改一下解析的应对关系就可以了 2、主中心的压力承担一般会大一些,也有个别有钱的用户,可以把主备建造的完全一样。但是站在一个异地容灾的角度去考虑的话,备中心一般配置会比主的小 3、主备中心之间一般是高速专线互联,任意一端数据中心挂掉,另一端要承载全部的网络带宽,所以互联速度不能慢。更重要的是前期的IP地址规划,主备的IP地址段都是网段不同,但是又类似,比如主中心的业务是10.0.0.100、备中心相同业务是20.0.0.100. 4、要考虑多层的切换,全局负载,应用负载,后端服务器,哪一个层面都有故障的可能性,所以每一层都需要考虑如何去做好HA
咱们的AD产品在数据中心搭建中,既可以承担高并发的全局负载调度,也可以做应用的负载调度,但是在高并发环境中,设备往往都是提供单一服务,全局负载和应用负载,分别用不同的设备来承担
先聊一聊全局负载 全局负载作为第一层的调度,为用户提供域名解析服务 全局负载层面的HA用终端的DNS服务器 主备配置来做,如下图
优先以主中心AD作为DNS解析地址,主的不通了,通过备中心进行解析
然后域名解析提供的IP地址,正好是第二层应用负载的虚拟服务地址
因为应用负载也分主中心和备中心,所以对应的解析地址,也应该有两个,并且需要对应用负载的存活状态进行探测,优先解析到主中心的应用负载上 那么配置的时候,就需要对应配置虚拟IP池,并且配置好探测规则,和负载规则 通过DNS映射来做域名的解析
接下来说第二层的应用负载 应用负载需要考虑的就比较多,首先是应用负载层面的HA 应用负载层面只能对单独某个中心集群之间的设备做HA,跨中心的话是通过全局负载来进行调度HA
然后应用负载负责进行节点池的调度,这里有个考虑点,就是主中心应用负载好用的情况下,所有调度都是由主中心来做的,那么备中心的应用负载就处于闲置状态,但是备中心的服务器这部分资源是可以利用上的
所以在分配节点池的时候,每个中心的应用负载都要把全部的服务器都写到节点池里
考虑到主备性能不同,在做负载策略的时候,建议用加权最小连接,充分利用服务器的性能
节点池配置完成后,需要考虑如何来做SNAT,如何配置健康检查
配置应用负载时候,一定要跟实际业务人员去落实每一个业务的需求,比如会话保持,长连接,前置调度这些都要梳理出来,然后再分别去主中心和备中心里配置
数据中心的架构大概就是这样一个类型,这样的容灾效果,基本上不会再出现业务停摆的状况
|