蚂蚁金服上链公共服务设计

Posted cxxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蚂蚁金服上链公共服务设计相关的知识,希望对你有一定的参考价值。

技术图片背景:

     重要事务上蚂蚁金服的链,能够出证。

     需求见:http://ax.homedo.com/YF-38996/  

     蚂蚁金服接口文档:https://tech.antfin.com/docs/2/130331

     为避免各个业务模块各自分别对接蚂蚁金服,避免上链代码对现系统的侵入性,充分解耦。

概要设计:

     a.主要设计思路:

           1. 使用消息队列实现解耦,避免对现有系统性能造成影响。2. 各业务阶段,不需要关心具体存证相关业务信息,只提交信息。

     b.存证流程图:

           技术图片

     

      流程说明:

      c.接口实现:

          字段定义: 

字段名称类型是否必填字段说明
businessId string   业务ID。与证据事务ID绑定的业务ID,能标识此证据链的唯一值;如订单ID
businessType string   存证事务类型。 见背景中的需求。可对应到创建事务接口中的sub_biz_id
accountId integer   用户的ID。根据此ID从用户服务接口获取用户相关信息,填入到事务请求接口。
evidenceId string  

当前存证内容的凭据ID,查询阶段能够根据此ID查找本次接口调用的存证内容;各业务模块自定义。 如:订单的各阶段证据,可以使用“订单ID+状态码”

notaryContent string   存证内容。Json格式字符串
contentVersion string   存证内容版本号。自己定义,以便响应后期内容的格式变动
clientData.
version
string   接口版本号。公共服务定义 v1.0.0

          实现方式:接口最好是封装成SDK,SDK内进行基本信息的校验和消息队列的对接             

d. 数据库设计:

      a. 事务ID和业务ID的绑定关系,并保存有用户ID,存证事务类型,最好把返回的重要信息都保存

      b. 存证凭据(tx_hash)和 阶段ID的对应关系,并保存存证成功后返回的重要信息。

   详细:

技术图片

       

以上是关于蚂蚁金服上链公共服务设计的主要内容,如果未能解决你的问题,请参考以下文章

最新蚂蚁金服面试题:Docker+秒杀设计+RocketMQ+亿级数据设计

蚂蚁金服-搜索推荐算法专家-蚂蚁金服财富-杭州-30-50万

蚂蚁区块链平台BaaS技术解析与实践

[从源码学设计]蚂蚁金服SOFARegistry之消息总线

[从源码学设计]蚂蚁金服SOFARegistry之消息总线

急招 | 蚂蚁金服(金融核心):后端开发工程师