迎战双11,苏宁的多数据中心多活如何建成?
业务系统部署:比如订单系统、会员系统、促销系统、商品系统等的部署 组件和系统部署完成了,为了确保业务稳定上线,生产的流量逐步划拨,前一个步骤的完成为下一个步骤的准入条件。 具体如下: 用白名单(内部用户)进行测试,验证部署和配置的正确性。 进行单系统流量划拨,确保每个系统切换的正确性。 全链路流量划拨,确保端到端切换的正确性。 3、全链路监控 苏宁的业务种类繁多,为确保核心交易业务的可靠性和扩展性,现阶段优先对这些业务进行多活改造和多数据中心部署。 一次交易请求,落在哪个数据中心处理,请求失败是由哪个业务节点导致等等,这就需要一套完善的监控平台,对全链路,多数据中心的各个环节进行全方位,高精度的监控。 监控平台主要分成以下几个部分: 日志:分别在每个机房部署日志组件,避免跨机房传输日志带宽消耗,查询通过联邦模式汇总查询。 指标 (metrics): 每个机房汇总到指标数据到主机房,以便指标在主机房汇总查询。 调用链:分别在每个机房部署调用链,调用链也是通过联邦模式查询。 4、故障演练 为了模拟机房故障,通过混沌工程逐步提高爆炸半径,模拟业务故障,减少对业务的影响,主要故障模拟如下: 单系统故障模拟:比如订单系统或会员系统单个系统故障 全链路故障模拟:比如交易链路或支付链路多个系统同时故障 网络故障模拟:比如交换机或路由器等故障 整个机房级别故障模拟:比如电源(市电、UPS 等)故障导致整个机房故障 通过混沌工程模拟可以相对真实验证整个多活系统的容灾能力,整个模拟对业务的影响都相对可控,大大降低对业务的影响。 5多活拓展 在多活方案设计过程中,需要综合考虑苏宁 IT 基础设施规划,其中异地部署和混合云部署是多活能力的拓展和延伸。 1、异地部署 由于同城机房资源受限,并且同城部署无法解决地震等极端故障,因此需要引入异地部署。异地多数据中心相比同城多数据中心,最大的问题就是网络延迟明显增大,数据中心的宽带相对受限,需要在架构和整体的解决方案上进行考虑,通过技术手段实现异地多数据中心的高可用性,降低延迟。同时需要通过组件对传输数据进行压缩和传输限流,确保传输的数据在有限的宽带可控范围内。 苏宁多活架构从一开始就是按照异地部署架构来设计,大大降低同城和异地部署异构性和运维复杂性。 2、混合云部署 苏宁业务系统大促流量是平时业务流量的十倍甚至上百倍,日常资源都是按照大促的峰值进行准备,资源持有和运维成本较高,资源采购,上线周期较长。因此大促期间,通过将部分流量弹到公有云,利用公有云的弹性能力,为私有云进行削峰,大大降低苏宁私有云长期持有成本,以及运维成本。 混合云相比原有多活需要做如下的能力拓展: 安全管控:公有云与私有云属于不同的信任域,对于公有云与私有云相互访问进行管控,确保混合云网络之间安全;以及公有云数据存储安全管控。 快速部署:由于公有云是根据按量或按月 / 按年计费,快速部署能力可以降低公有云资源成本使用时长。 非对称部署:由于公有云与私有云处理能力不一样,可以通过非对称部署降低公有云和私有云成本。 6总结 多数据中心多活项目作为苏宁重大项目,经过 3 年左右的建设,已于 2019 年上线,历经 818 和双 11 等大促考验,实现关键链路从单机房平滑过渡到多机房的突破,支撑了业务的快速发展;并在机房出现真实故障时,快速实现业务恢复,将故障影响降低到可控范围内。 混合云项目经历一年左右的建设,也已初具规模,将为苏宁后续的业务高速发展保驾护航,降低公司大促扩容成本。 延伸阅读:
(编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |