详解网商银行“三地五中心”数据部署架构(2)

简介: 详解网商银行“三地五中心”数据部署架构(2)

多租户策略


一套分布式数据库集群可以用于支持多个业务,通过分配多个数据库实例进行管理,这就是多租户策略。多租户是分布式数据库实现资源隔离与未来进行云化发展的基础,通过多租户还可以实现安全的隔离、故障的隔离、运维的隔离等。


首先是租户资源的隔离,租户是资源分配的最小单元,每个租户可以进行CPU、内存、存储、网络带宽、连接数等的资源控制。CPU等资源可以在租户创建时进行指定,也可以按需进行动态调整。每个租户之间的资源不进行复用,以避免资源的抢占带来的稳定性问题。


其次是安全的隔离,租户有对应的用户权限,每个租户的用户只能访问自己租户内的实例以及相关租户资源。不存在可以进行跨租户访问的超级用户,实现了安全策略的可控,避免了数据安全问题。


再次是故障的隔离,因为硬件资源的隔离,单个租户的“抖动”、资源不足、数据错误等不会影响其他租户,对于分布式数据库的监控最小采集粒度是租户级别,数据库的故障影响分析也从租户维度进行关联分析。


最后是运维的隔离,租户是资源分配的最小单元,在进行资源调度、集群扩容时按照租户进行迁移,集群的备份与恢复也从租户维度进行控制。



 “异地多活”之“三地五中心”


商业银行数据中心监管指引》要求金融机构设立异地模式的灾备中心,其中重要系统的灾难恢复能力要达到《信息安全技术 信息系统灾难恢复规范》中定义的灾难恢复等级第5级(含)以上。具体要求是,RPO为数分钟到两天,RTO为0~30分钟。传统银行中最常见的是“两地三中心”模式,具备同城的机房级容灾能力,实现了同城一个机房故障下RPO为0,异地数据弱一致。网商银行从“两地三中心”的“异地多活”进一步发展到“三地五中心”,实现RP0为0,RTO在1分钟内的城市级容灾架构,保证了银行系统的高可用和不间断的用户服务能力,实现了金融服务的随时在线。


常见部署模式


image.png


(1)同城双机房采用主备模式,应用访问主数据库,进行数据写入。(2)同城双机房间采用存储设备的同步复制,保障同城双机房之间的数据实时一致。(3)异地机房用异步复制方式进行数据同步,备份节点数据非强一致,对数据实时性要求不高的可以进行读访问。(4)同城主备库之间进行故障检测,出现异常时进行主备切换。(5)应用端可以通过使备库只读而降低主库压力。这种部署模式本质上只能做到机房级容灾,当城市1异常时,城市2的数据是不完整的,无法实现城市级的容灾。
分布式数据库“两地三中心”(见图3-1-5)


传统银行的“两地三中心”(见图3-1-4)


image.png



(1)“两地三中心”模式有三个副本,采用主备模式,应用访问主数据库,进行数据写入主库。


(2)主库数据实时同步到所有备库,基于一致性协议,在1/2的节点完成数据的同步后,即认为数据同步完成。同城机房因耗时更短,两个机房的数据保持实时同步。


(3)异地机房因耗时较长,在数据同步上有延迟,但相对于传统银行的备份节点,该延迟较小,在1分钟以内。


(4)两个从节点都可以提供数据的弱一致性只读服务。三个副本中最多允许有一个故障点,所以这种模式只具备城市2的城市级容灾能力,不具备城市1的容灾能力。分布式数据库“三地五中心”(见图3-1-6)


image.png


“三地五中心”模式有五个副本,最多允许存在两个异常节点,所以采用2-2-1的方式进行分布建设。当任意一个城市的机房发生城市级的故障时,数据库都依然能够继续提供服务。


五副本在进行数据写入实时同步时,需要三个节点完成写入,因一个城市最大节点只有两个,所以必然会存在跨城市的实时同步,带来耗时的增加。具体耗时的增加与城市间的距离有关,例如从杭州到上海,需要增加6~8毫秒。


城市3只有单节点,无法满足城市内的容灾要求,一旦有故障,应用都需要跨城访问数据库,所以在部署时,城市3不进行应用的部署。由于不提供数据服务,城市3可以进一步降低成本,机房5作为日志副本,无全量数据,参与一致性协议投票选举主节点。

相关文章
|
2月前
|
消息中间件 存储 缓存
十万订单每秒热点数据架构优化实践深度解析
【11月更文挑战第20天】随着互联网技术的飞速发展,电子商务平台在高峰时段需要处理海量订单,这对系统的性能、稳定性和扩展性提出了极高的要求。尤其是在“双十一”、“618”等大型促销活动中,每秒需要处理数万甚至数十万笔订单,这对系统的热点数据处理能力构成了严峻挑战。本文将深入探讨如何优化架构以应对每秒十万订单级别的热点数据处理,从历史背景、功能点、业务场景、底层原理以及使用Java模拟示例等多个维度进行剖析。
57 8
|
2月前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
428 7
|
2月前
|
数据采集 搜索推荐 数据管理
数据架构 CDP 是什么?
数据架构 CDP 是什么?
70 2
|
3月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
88 2
|
16天前
|
Serverless 决策智能 UED
构建全天候自动化智能导购助手:从部署者的视角审视Multi-Agent架构解决方案
在构建基于多代理系统(Multi-Agent System, MAS)的智能导购助手过程中,作为部署者,我体验到了从初步接触到深入理解再到实际应用的一系列步骤。整个部署过程得到了充分的引导和支持,文档详尽全面,使得部署顺利完成,未遇到明显的报错或异常情况。尽管初次尝试时对某些复杂配置环节需反复确认,但整体流程顺畅。
|
2月前
|
监控 安全 持续交付
构建高效的微服务架构:从设计到部署
构建高效的微服务架构:从设计到部署
26 1
|
2月前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
78 1
|
2月前
|
供应链 监控 安全
网络安全中的零信任架构:从概念到部署
网络安全中的零信任架构:从概念到部署
|
3月前
|
存储 大数据 数据处理
洞察未来:数据治理中的数据架构新思维
数据治理中的数据架构新思维对于应对未来挑战、提高数据处理效率、加强数据安全与隐私保护以及促进数据驱动的业务创新具有重要意义。企业需要紧跟时代步伐,不断探索和实践新型数据架构,以洞察未来发展趋势,为企业的长远发展奠定坚实基础。
|
4月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
236 3

热门文章

最新文章