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


  • 持续集成、发布流水线:提供灵活可用的持续集成、持续验证、持续发布功能,帮助企业高质量、高效率的交付业务;
  • 制品仓库:提供多种软件包管理工具的企业级私有仓库服务,支撑企业级依赖托管。
  • 知识库:通过可协作的结构化文档,将知识沉淀下来,并在团队中有效流动,提升企业创造力。
  • 3.3.4基础软件设施
    基础软件设施层面,提供在苛刻的金融场景中久经考验的基础软件设施和架构体系,涵盖从运行时和运维时所需要的各项能力,包括异地多活单元化架构能力、分布式服务能力、分布式数据库、高可用运维能力。
    基础软件设施层面,应关注以下几点:
    • 采用充分磨合与验证、功能完备(如单元化支持)的中间件体系,而非在应用系统开发阶段还需要不断修修补补、甚至进行架构妥协的中间件体系;
    • 满足自研可控与容灾需求的分布式数据库,容灾情况能够真正做到可切换、敢切换;
    • 异地多活单元化能力,不只是架构设计,还需要中间件、数据库和运维体系都具备必需的单元化支撑能力。
    3.3.4.1分布式服务能力
    作为支撑云原生分布式核心应用分布式、微服务化的基础能力,分布式服务能力应该涵盖:同步调用的双模微服务、异步解耦的消息队列服务、支撑批量作业的任务调度和API网关。
    1.高性能的双模微服务体系,满足联机交易场景需求
    双模微服务体系,支持传统SDK服务框架和ServiceMesh两种模式的微服务体系。核心系统对双模微服务体系,有以下具体的能力需求:
    • 高性能:核心的一个交易可能涉及到多次服务调用,服务框架必须高性能以避免提高服务响应时间;
    • 可扩展:扩展性包括多个方面,例如:每家银行内部通讯协议各有不同,强大的扩展性是服务框架适配行内需求的重要考量;
    • 企业级的服务注册中心:具备支撑海量服务注册发现的能力,从而实现银行内部真正服务打通;
    • 服务治理能力:在具备限流、熔断、服务访问控制等动态服务质量治理能力的同时,具备与静态服务治理打通的能力,从而形成服务动静结合、全生命周期的管理;
    • 高性能的服务链路跟踪:支持抽样的高性能跟踪能力,为分布式环境下的问题排查提供必需的基础能力。
    2.高可靠的消息队列服务,满足异步解耦需求,提升交易响应时间
    云原生分布式核心系统中,通过消息队列可以将很多业务功能从联机交易中解耦,在提升联机交易性能的同时,也为业务的扩展性提供了可能。
    例如:存款账户余额变动通知,可以通过异步消息发送给不同的系统进行消费,从而实现多种类型的业务功能(短信/微信通知、头寸实时计算等);交易核算分离也可以通过异步消息做到准实时的核算。
    云原生分布式核心系统中,消息队列应做到消息不丢、确保能够被消费成功。
    同时,事务消息机制是消息队列应该提供的能力;无需核心应用再建立一套消息发送表,来实现消息的可靠发送。
    3.高性能、高可用的调度框架,支撑核心系统大量的批处理作业
    核心系统有大量的批处理作业,包括基于文件的批处理(如代发工资)和周期性执行的批处理(如存款结息、计提等)。
    在分布式架构下,批处理调度框架具备两个层面的能力,提升处理性能: