分布式|首发丨阿里云刘伟光:3.5万字拆解「核心系统转型」,核心从业者怎样寻得「出路」?(17)


  • 数据分布式架构的作业拆分与事务控制:数据分布式存储之后,一个作业中的数据按照合理的规则进行数据分包,以数据包为单位并发处理以提升执行效率,同时,要考虑分包策略对数据库事务的影响。
  • 同时,调度框架的高可用性也非常重要,完善的重试、断点续作等自动化异常处理机制,可以大大降低运维人员的人工介入,在提升效率的同时避免人工干预带来新的风险。
    4.多种模式、高性能和保障一致性的分布式事务组件
    核心应用服务的分布式化和数据分布式存储,必然会引入分布式事务。分布式事务组件具有以下能力:
    • 多种事务模式:支持TCC、SAGA等多种分布式事务实现模式;支持跨服务、跨数据库的分布式事务需求;
    • 异常处理能力:支持空回滚、防悬挂等能力,完善的异常处理机制,包括挂起事务、异常事务的重试、监控与告警等处理。
    5.高性能、多协议且具备灵活路由规则的API网关
    在部分银行的实践中,云原生分布式核心在银行整体IT架构中对外还是一个完整的系统。在这种架构下,核心系统可以通过API网关作为对外服务门户,实现服务治理、协议转换等统一的处理;同时,在单元化架构下,基于API网关进行服务路由分发,是单元化必备的能力。
    对于API网关,需要具备如下几方面的特点:
    • 高性能:作为每个对外服务都经过的链路节点,高性能是API网关最基础的要求;
    • 支持多协议和协议转换:支持常见RPC协议(Dubbo、HTTP等)和行内特色通讯协议的自动转换能力;
    • 灵活的路由规则配置:支持自定义扩展路由策略,从而可以快捷的实现单元化路由功能;
    • 服务治理能力:在网关层提供熔断、限流、降级、访问控制等治理能力。
    3.3.4.2分布式数据能力
    分布式数据能力有三种不同的架构模式:分布式数据库、传统关系型数据库+分布式数据中间件体系、分布式数据库+分布式数据访问中间件。
    这三种模式中,推荐采用“分布式数据库+分布式数据访问中间件”模式配合单元化架构,在充分发挥分布式数据相关优势(容灾、自研可控、弹性)的同时,又能享受单元化架构带来的红利。
    1.分布式数据库
    应用于金融核心系统的分布式数据库,必须在核心金融场景中稳定运行、经过严格的验证。分布式数据库应具备以下几方面的能力,降低核心系统研发和运维难度:
    • 分布式事务引擎:内置成熟的分布式事务引擎,严格支持事务的ACID属性;
    • 透明可扩展:支持对应用透明的在线平滑扩缩容,提供不受限的数据容量和处理能力;
    • 极致的高可用:作为核心系统数据库,需要有完备的高可用架构和高可用等级;
    • 同城容灾RPO为零:确保同城容灾可切换、敢切换;
    • 满足自研可控需求:国内自主知识产权的数据库,安全可控。
    2.传统关系型数据库+分布式数据中间件体系
    基于传统关系型数据库和分布式数据中间件,也可以实现数据分布式存储与访问能力。该模式下,分布式数据中间件体系需要包含以下组件:
    • 分布式数据访问组件:支持对应用代码透明的分库分表、读写分离和全表扫描,能够生成全局唯一序列号,可以实现平滑扩容;
    • 数据同步组件:实现数据变更的准实时处理。通常用于数据多副本同步、分库分表数据汇聚、分布式缓存更新等场景。
    3.分布式数据库+分布式数据访问中间件
    在单元化架构下,通常采用这种模式。分布式数据库基于业务数据某个维度切分为多个集群部署,每个集群相互独立;数据访问中间件提供对应用透明的集群选择能力。