多业务线亿级体量,携程是怎么做账务中台的(1)

简介: 多业务线亿级体量,携程是怎么做账务中台的


本文为联合撰文,作者团队负责携程集团支付账务系统、消费金融账务系统、清结算和对账等工作的的开发、设计和运维工作。


   

01


   

前言


原先携程内部的各账务系统都是随着自身的业务发展而建立起来的,其中有些共同的东西,但也存在着不少差异。但其对底层业务的抽象是统一的,都可以抽象为:账户开立、记账、稽核。为了系统开发、运维的简便性,也为了更好的为前台业务提供支持,我们计划实施账务中台系统,从而做到账务系统的:

1)敏捷:快速的适应业务需求的变化,满足外部快速变化的需求,实现业务的敏捷。2)解耦:建立功能独立的系统,避免因为一个功能的修改而影响很多方面,降低功能的耦合度。3)复用:对一些公共组件的复用,提高开发效率,避免重复建设,使得数据和流程都可以得到管控。

 

   

02


   

账务中台之路-基础篇


1、系统概述


1)背景


账务系统从2014年开始一期建设,先后经历了两次大的技术架构升级。

一期:

账务组刚成立的时候,携程的JAVA技术栈尚未完善。

技术上我们是首批试点使用JAVA的小组,使用的分布式RPC框架是Zeroc ICE,它可以支持多语言,通过slice文件生成代码,性能也比较好,所以当初选型用了这个。消息队列用的RABBITMQ,缓存用的REDIS。这些集群都是自运维的。

业务上,一期的业务只支持单用户单账户的模式,交易支持充值、支付、退款、预授权类(预授权冻结,预授权撤销,预授权完成,预授权完成撤销)、提现、转账,接口都是基于业务接口独自开发的。
系统业务架构图如下:


二期:


随着携程JAVA技术栈的完善,二期主要针对JAVA技术栈进行了升级,放弃了自运维的集群,使用了携程JAVA体系,包括SOA,qconfig,qmq,qshecdule等技术。业务上增加了会计系统和日终的实现。


系统业务架构图如下:


原有的账务核心系统存在以下问题:

1)抽象不足:对业务规则抽象不够,如果新增业务需要编码实现2)隔离不够:系统不同业务的系统流量、数据没有隔离,存在某一业务有问题,影响全局的风险3)降级策略:不支持4)扩容困难

基于以上问题,我们设计并实现了新的统一账务平台。

2)目标


针对旧系统的不足,我们确定统一账务平台的目标:

1)抽象2)隔离3)易扩容4)配置化5)支持多机构多币种

2、系统架构与简介

统一账务系统旨在建立一套立足于携程集团之下的高可用,易扩展,业务可定制的账务系统。系统包括场景码系统,账务前置系统,账务核心系统,账户管理系统,会计系统,异步系统,job系统,日志系统。各个系统之间通过dubbo进行服务拆分解耦。

系统业务架构图如下:

  • 前置系统:账务的业务处理系统,主要负责对上游业务系统的对接,完整账户的拆分等工作。
  • 账务核心系统(原子系统):主要负责账户记账,记录对商户、用户、内部户等客户账的动账及明细。
  • 管理系统:对外提供商户、用户、内部户的管理服务,包括创建、查询、状态冻结、状态解冻等服务。
  • 会计系统:采用复式记账法根据分录规则对发生的交易进行记录,来表示资金的流转。
  • 基础服务系统:对外提供科目、分录、交易码等基础配置的查询服务。
  • 日终系统:对记账原子和会计系统数据进行稽核,完成数据校验工作。




相关文章
|
4月前
|
存储 监控 Java
近亿级用户体量高并发实战:大促前压测干崩近百个服务引起的深度反思!
几年前,数百个服务,将堆内存从28GB升配到36GB,引发系统全面OOM的事件。
122 12
|
NoSQL 算法 Java
千万级订单生成的痛点与架构
千万级订单生成的痛点与架构
194 0
|
存储 数据采集 缓存
数据中台建设:千万级的瀑布式,和十万级的迭代式,你会选择哪一个?
连接1次孤岛,服务N个场景。Tapdata Live Data Platform (LDP)通过为实时数据集成增加一个高速缓存的方式,将企业核心的常用的数据实时复制到缓存层(最后一次ETL),再从缓存层为企业的多个应用场景快速提供数据, 实现一次打通,多次复用的降本增效价值。Tapdata LDP 现已入驻阿里云云市场。
16132 0
|
SQL 消息中间件 运维
多业务线亿级体量,携程是怎么做账务中台的(2)
多业务线亿级体量,携程是怎么做账务中台的
247 0
|
存储 SQL 关系型数据库
万级TPS亿级流水-中台账户系统架构设计
我们需要给所有前台业务提供统一的账户系统,用来支撑所有前台产品线的用户资产管理,统一提供支持大并发万级TPS、亿级流水、数据强一致、风控安全、日切对账、财务核算、审计等能力,在万级TPS下保证绝对的数据准确性和数据溯源能力。 >注:资金类系统只有合格和不合格,哪怕数据出现只有0.01分的差错也是不合格的,局部数据不准也就意味着全局数据都不可信。
1609 0
|
存储 消息中间件 缓存
老板让你抗住千万级流量,如何做架构设计?
随着互联网的发展,各项软件的客户量日益增多,当客户量达到一定峰值时,当数以万计的流量来临时,程序的顺利运行以及即时响应则显得尤为重要,就像双11那天的淘宝一样。那么,如何设计架构才能够抗住这千万级的流量。
261 0
老板让你抗住千万级流量,如何做架构设计?
|
移动开发 小程序 算法
线上流量越发昂贵,如何通过裂变营销实现业务增长?
公域流量流量越来越聚集于头部的媒体同时投放的费用越来越高。如:在游戏电商或金融行业,在广告投放拉新方面成本达到了100元左右。除了头部媒体的流量以外,在中长尾的流量上,这部分虽然成本低,但转化效果却很差。
线上流量越发昂贵,如何通过裂变营销实现业务增长?
|
存储 Cloud Native 关系型数据库
支撑数千家天猫商家CRM业务,数云高弹性数据库如何做
我们可以看到在云时代的大背景下,企业选择数据库存储产品需要综合考虑性能、稳定性、成本等不同方面,都是企业客户考虑的重点。同时云原生数据库在高并发、高可用、高可靠以及可扩展性方面的优势也再次被证明。
847 0
支撑数千家天猫商家CRM业务,数云高弹性数据库如何做
|
存储 运维 网络协议
蚂蚁金服面对亿级并发场景的组件体系设计
5 月 6 日,InfoQ 主办的 QCon 2019 全球软件开发大会在北京举行。蚂蚁金服技术专家吕丹(凝睇)在大会上做了《蚂蚁金服面对亿级并发场景的组件体系设计》的分享,我们根据演讲内容整理成文。
3589 0