银行核心系统分布式改造,架构设计如何为数据库运维加成?

一、数据库架构建设的基本方法和过程

二、某核心系统由大型机系统迁移到分布式架构

三、Redis异地容灾架构建设

一、数据库架构建设的基本方法和过程

1.数据库架构组成

1)数据库架构

在日常工作中,如果我们说到数据库架构,一般来说指的是网络、主机、存储及之上运行的数据库实例。数据库架构工作指的则是如何去评估和组合这些组件,从而为业务提供符合运营要求的数据库服务。

2)数据库访问组件

当数据库架构演进到分布式架构,如何让应用程序(服务)快速确认数据所在的位置,就成为了一个核心的问题,而这就是数据库访问组件的工作。

3)数据库运营平台

对于一个大型组织,运营几千套、几万套数据库实例是很平常的事情,而这也给运营团队的日常管理带来了一定难度的挑战。各个公司组织纷纷搭建运营平台,用于告警监控、故障处理、变更、版本发布等,在设计和构建数据库架构的同时建设数据库运营平台已经成为了一种标准操作。

2.可运营及需求的组成

1)业务需求

数据库架构首先要匹配组织的业务流程,满足组织的业务需求,是所有从业者的共识。

2)运营需求

设计和构建数据库架构的最终目标就是获得一个能够持续、稳定提供服务的数据库集群,从设计之初就充分了解和满足运营需求,是数据库架构设计成功的一个关键要素。

3)监管需求

对于强监管行业而言,不满足监管要求,项目就无法上线。因此,监管需求可以说事关监管行业的生死,必须在设计之初就充分考虑。

3.架构设计

1)业界生态

“不要重复造轮子”,在数据库架构设计前,调研业界的技术生态非常重要。同时需要注意,我们所在组织的技术生态也是业界生态非常重要的一部分。

2)架构设计初稿

通过调研业界生态,我们能够获取数据库架构所需的模块,再结合项目的实际情况,对所需模块进行组合和完善,就能够获取数据库架构的初稿。

4.架构构建

1)数据库选型和测试

数据库选型放在架构设计之后的一个重要考量是保证数据库架构设计的客观性。如果在数据库架构设计之前就选定了数据库,架构设计将不可避免地受到数据库功能特性的影响。

2)数据库架构原型

在拥有数据库架构设计和完成数据库选型的前提下,我们才能在测试或者开发环境构建数据库架构原型,这是我们下一步工作的基础。

5.架构迭代

1)在完成数据库原型建设之后,可以开始对数据库原型进行测试和验证,验证指标应回到最初的需求、业务目标、运营目标和监管目标。

2)每轮的测试和验证都会生成架构的优化项,结合项目的需求和目标,对数据库架构不断进行迭代,一般在3到5轮迭代之后就可以得到一个相对稳定可靠的数据库架构。

二、某核心系统由大型机系统迁移到分布式架构

1.项目调研

迁移项目第一步是对当前系统的情况进行摸底调查。

1)容量和性能指标

系统指标分为很多方面,对于数据库架构而言,首先需要考虑的是性能和容量指标。

2)业务特性

该项目具有一个明显的特点——实时在线业务一次仅处理一个客户,账务结算和报表模块一次需要处理很多客户数据。

3)数据访问和处理

通常意义上所说的计算和存储分离指的是数据存储在大型机文件中,业务逻辑完全在应用层实现。

4)项目人员能力

项目人员的能力主要集中于JAVA的开发,对于Oracle和MySQL较为熟悉,其他关系型数据库的开发则相对陌生,项目人员的能力对于数据库选型有明显的影响。

2.数据库架构原型设计

1)按照客户对数据进行分片,数据路由在应用层处理,每个分片都由一个数据处理模块和一组数据库实例组成,不同分片之间完全独立,跨分片的聚合计算在业务层处理。

2)站在数据库本身的视角,不同分片之间的数据库实例是完全独立的,不存在任何的数据交互。站在业务的角度,所有的数据库实例则组成了一个统一的数据库集群。

3)该架构的优点是单分片处理逻辑简单,对实时在线业务非常友好;缺点是跨分片处理逻辑复杂,报表和账务结算业务难度高。

3.数据库选型

1)Oracle和MySQL的对比测试

  • Oracle在性能和故障自动恢复上具有一定的优势,但分布式应用架构下数据库实例众多,Oracle的成本要远高于MySQL。
  • MySQL在技术生态上与应用分布式架构更匹配,但需要解决半同步不降级的问题。

2)经过架构师团队的讨论和权衡,最终决定使用MySQL衍生数据库,性能与原生MySQL接近,同时半同步不降级,满足RPO=0

4.运营平台建设

1)配置管理:为每个数据库实例添加分片属性和业务属性。

2)端到端交付:为了满足数据库实例可以动态地横向扩容和缩容,增加了拉入节点、拉出节点和资源池的功能。

3)监控和故障处理:在原有的数据库监控平台的基础上,增加了业务视角和分片视角,当数据库实例故障时,能够更加精准定位到受影响的客户。

4)数据库变更:为满足24小时不停机的业务要求,增加了业务降级、流量管控、滚动处理和变更日历功能。

5)版本发布:在分布式架构下,为应对成倍上升的复杂度和风险,增加灰度发布、并行发布、分片自适应和版本编排功能。

5.数据库架构迭代

1)为满足监管要求,需要在已有架构上添加容灾架构。

  • 在生产数据中心和容灾数据中心建设相同的数据路由、数据处理模块及对应的数据库实例,对应的数据库实例之间进行数据同步。
  • 每个分片都可以独立在不同的数据中心之间自由切换。
  • 添加全局数据路由,能够保证将事务处理路由到正确的数据中心处理。

2)使用业界已有的技术,通过binlog将数据实时同步到大数据平台,进行报表分析。

3)使用业界已有的技术,通过binlog将数据实时同步到分片数据库(整体引入),降低账务结算程序的复杂度。

三、Redis异地容灾架构建设

1.需求整理

1)所有的Redis仅作为缓存使用,无数据同步需求。

2)95%以上的Redis为Cluster架构,5%以内的Redis为哨兵架构,本次设计的架构聚焦于Cluster架构。

3)95%以上的Redis Cluster无容量和性能要求,准确来说就是所有的Redis Cluster都可以标准化,只要后续提供扩容/缩容的功能即可。

4)生产Redis Cluster变化较大,异地容灾要求和生产同步上线和下线。

5)最小化DBA和应用开发团队的人力成本。

2.架构实现

1)建设一个K8S集群,用来承载所有的Redis集群。

2)建设Redis集群同步平台,从已有的CMDB读取生产Redis集群的信息,并将创建的异地容灾Redis集群信息更新到CMDB。

3)同步进程根据CMDB生成生产Redis集群集合和异地容灾集合。生产集合减去异地容灾集合,即需要搭建的异地容灾集合,平台将自动创建异地容灾集群,并将信息更新到CMDB。异地容灾集合减去生产集合,即需要下线的异地容灾集合,平台将自动下线异地容灾集群,并将这些集群从CMDB中删除。

4)每天执行上述步骤,即可保证移动容灾集群和生产集群的同步。

5)K8S集群可以自动拉起宕掉的节点,结合Redis集群本身的高可用,即可保证异地容灾集群的高可用。

6)K8S集群本身的告警监控即可满足异地容灾的告警和故障处理需求。

7)设计自助平台,应用开发和运营团队可以进行自助查询、自助修改参数、自助扩容、自助申请域名等操作,最小化DBA和应用开发运营的人力成本。

王顺

平安银行 数据库运维团队上海分组负责人

专注于数据库领域20+年的老兵,目前专注于数据库运维和数据库架构。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/293694.html<

(0)
运维的头像运维
上一篇2025-05-20 17:50
下一篇 2025-05-20 17:51

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注