蚂蚁金服科技 + 关注
手机版

2017深圳云栖TechInsight活动回顾:动手实验室-从零搭建一个金融级分布式交易系统

  1. 云栖社区>
  2. 蚂蚁金服科技>
  3. 博客>
  4. 正文

2017深圳云栖TechInsight活动回顾:动手实验室-从零搭建一个金融级分布式交易系统

蚂蚁首仁 2017-04-07 11:05:18 浏览2754 评论1

摘要: 作为一次面向开发者的体验活动,我们力求使蚂蚁金服的核心金融技术和产品变得触手可及。旨在通过动手实验室课程,围绕分布式数据库OceanBase、蚂蚁分布式中间件、移动平台mPaaS、零号云客服等产品,实现一个金融场景下移动转账交易的示例解决方案。

作为一次面向开发者的体验活动,我们力求使蚂蚁金服的核心金融技术和产品变得触手可及。旨在通过动手实验室课程,围绕分布式数据库OceanBase、蚂蚁分布式中间件、移动平台mPaaS、零号云客服等产品,实现一个金融场景下移动转账交易的示例解决方案。我们为此构建了一套完整的示例项目和实验手册,涵盖从关键组件说明、应用开发到部署的全方位体验流程。在TechInsight的第一天下午,通过讲师对知识点的互动分享和代码实现实操演示,使开发者能够直观地体验到相关云产品的快速入门和最佳实践。

关于创新金融分论坛的分享内容回顾,请见2017深圳云栖TechInsight活动回顾:创新金融

Workshop课程回顾

1. OceanBase运维管理后台体验

李凌云(云琚) & 俞仁杰(首仁)

云数据库 OceanBase」- 演示和体验分布式云数据库OceanBase的运维和数据管理操作;

2. 通过蚂蚁分布式中间件构建金融级微服务

许文奇 & 俞仁杰(首仁)

分布式消息服务」、「分布式数据源服务」、「分布式事务服务」等蚂蚁分布式中间件和SOFA Lite 2 框架 – 实现微服务化云端部署、核心数据分库分表,提供查看账户信息、转账等用户请求操作并保证金融级一致性;

3. 基于蚂蚁mPaaS移动平台构建原生应用

祁晓龙(哓龙) & 杨薇(禾兮)

移动开发平台 mPaaS」通过蚂蚁金服mPaaS一站式解决方案,创建iOS & Android 原生App,通过移动网关调用REST API,完成相关操作实现基本转账和查询余额功能,体验源自支付宝十多年移动积累的丰富移动组件和云端服务黑科技;

4. 零号云客服知识库和智能机器人的配置创建

张凯尧(大伢) & 俞仁杰(首仁)

零号云客服」体验从创建知识库到配置智能机器人,构建能够学习和回答客户的业务咨询问题、响应账户操作指令的智能客服。

讲义分享

PDF(80页)下载:http://antcloudshare.oss-cn-hangzhou.aliyuncs.com/TI201703/AntCloud-Workshop.pdf

项目Git Repo:

联系方式

请花两分钟填写体验调研问卷: http://tb.cn/FIo8Ayw,我们的业务架构师会第一时间同您联系。

更多讨论:创新金融-TechInsight客户交流钉钉群二维码

DingdingGroupQRCode


附录:Workshop项目概述 - 从零搭建一个金融级分布式交易系统

Git Repo: https://git.cloud.alipay.com/dx/AntCloudPayPublic
此附录为项目说明Readme的摘录,最终内容以git中为准。

此项目包含详细支持文档、实验手册、讲义大纲,示例项目代码当前只对蚂蚁云用户开放,如有兴趣烦请提交体验申请。

1. 项目概况

蚂蚁金服的核心金融技术和产品已经触手可及!通过动手实验室,基于分布式数据库OceanBase、蚂蚁分布式中间件、移动平台mPaaS、零号云客服等产品进行开发和部署体验,实现一个金融场景下移动转账交易的示例解决方案。

  1. 云数据库 OceanBase」- 基于OceanBase,演示和体验云端数据库运维和数据管理操作;
  2. 服务端基于蚂蚁SOFA Lite 2 + Spring Boot框架,通过分布式消息服务分布式数据源服务等蚂蚁分布式中间件,实现微服务化云端部署、核心数据分库分表,提供查看账户信息、转账等用户请求操作并保证金融级一致性;
  3. 移动开发平台 mPaaS]」通过支付宝mPaaS一站式解决方案,创建iOS & Android 原生App,通过移动网关调用REST API,完成相关操作实现基本转账和查询余额功能,体验源自支付宝十多年移动积累的丰富移动组件和黑科技;
  4. 零号云客服」体验从创建知识库到配置智能客服机器人,使云客服能够学习和回答客户的业务咨询问题,响应账户操作指令。

本项目通过示例代码和必要的文档指引,使开发者能够直观地体验到相关云产品的快速入门和最佳实践。

协作指南

本项目长期更新维护,将逐步融入蚂蚁金服的更多关键组件的演示和最佳实践,提升开发者学习上手体验。如需帮助请在Issues中提出,同时也希望开发者在实际操作Demo的过程中能够及时给予反馈,提升产品使用及开发体验是我们永远的目标。

欢迎通过Pull Request共同协作构建。

2. 项目指南:

2.1 了解蚂蚁云计算服务

蚂蚁金服致力于将金融技术能力开放给合作伙伴,共同推进更平等、普惠的新金融服务体系。作为技术赋能输出平台,蚂蚁金服的云服务已面向受邀企业客户开放。欢迎申请开通体验和技术咨询。

许多阿里云上的基础资源类产品如OSS、ECS、RDS等,用户能通过相同的控制台获得统一的运维管理操作体验。在此之上,云上的大部分服务来自蚂蚁金服多年金融技术实践沉淀并产品化的成果,如蚂蚁中间件、运维管理、移动平台及智能客服等产品,以PaaS和SaaS等产品形式对外输出赋能生态。

本动手实验中的OceanBase的就是一个蚂蚁和阿里云“合璧”的例子,实例管理及数据管理控制台的入口可以来自于阿里云控制台,也可以从蚂蚁云控制台进入,两者提供相同的功能和用户体验。

2.2 本项目文件夹结构

/docs目录下为实验手册和项目详细说明文档,包含实验概览和操作手册。对于中间件和移动,还有较为详细的分步组件说明。

/src目录下为Demo应用的源代码,中间件由三个微服务应用组成,还有一个临时应用提供测试用API。

建议通过文档手册对逐个产品了解学习,辅以示例代码跑通整个流程。

.
├── README.md           项目说明入口
├── CONTRIBUTING.md     项目协作指南
├── docs                文档手册
│   ├── CloudCxSvc      「零号云客服」
│   │   ├── manual.md       操作手册
│   │   └── readme.md       实验概览
│   ├── Database        「Oceanbase数据库」
│   │   ├── manual.md       操作手册
│   │   ├── readme.md       实验概览
│   │   └── slides.md       课程提纲
│   ├── Middleware      「蚂蚁中间件」
│   │   ├── deploy.md       部署说明
│   │   ├── develop.xxx.md  开发说明(系列文章)
│   │   ├── readme.md       实验概览
│   │   ├── setup.md        环境配置
│   │   └── slides.md       课程提纲
│   └── Mobile          「mPaaS移动平台」
│       ├── deploy.md       部署说明
│       ├── develop.md      开发说明
│       ├── readme.md       实验概览
│       └── setup.md        环境配置
└── src                 Demo项目源代码
    ├── Middleware      「蚂蚁中间件」
    │   ├── bizlogic        业务处理中心
    │   ├── fcaccount       账务处理中心
    │   ├── usercenter      用户中心
    │   └── mocksvr-rest    临时MockAPI项目
    └── Mobile          「mPaaS移动平台」
        ├── iOSApp          iOS应用
        └── androidApp      android应用

3. 实验场景

本动手实验包含四个场景,可以独立进行,也能顺序依次进行。

  1. Git Clone或打包下载本实验内容至本地。
  2. 请参考/docs/*/目录下各部分文档。入口以readme.md为主,slides.md是ppt的结构大纲内容,可作为培训和演示大纲。
  3. 根据实验手册的引导,了解和体验各模块部分的构建过程,包括环境搭建、模块开发及运维部署等。
  4. 申请开通云服务账户
  5. 编译并发布至云上测试环境。

场景1:创建和管理金融级分布式数据库服务OceanBase

OceanBase云服务已面向受邀企业客户开放。欢迎申请开通体验和技术咨询。
产品负责人:「苏普」supu@alibaba-inc.com

核心演示场景和技术点

  • OceanBase分布式数据库入门,介绍产品特性、历史演进、适用场景。
  • OB开发必备基础。日常开发、运维的关键注意点,mysql的兼容性,相关云平台的数据中间件等。
  • 场景演示和解析

    • 管理后台体验,包括实例运维操作以及数据管理DMS控制台操作
    • OB基本演示,包括数据分布,机器分布,事务支持等基本信息演示
    • OB多租户演示,包括多租户,资源动态调整演示
    • 转账分区表演示,包含分布表分布,执行计划展示等

相关资源

产品页面:


场景2:通过蚂蚁分布式中间件构建金融级微服务

蚂蚁分布式中间件服务已面向受邀企业客户开放。欢迎申请开通体验和技术咨询。
产品负责人:「许文奇」wenqi.xuwq@antfin.com

核心演示场景和技术点

  • SOFA Lite 2 - 蚂蚁金服基于 SpringBoot的中间件轻量集成方案,与标准的 SpringBoot 工程无缝集成,提供了易用、统一的编程界面.
  • SOFA REST - 对外提供RESTful API。本例中「用户中心」和「业务处理中心」对外暴露API接口供客户端调用。
  • SOFA RPC - 提供点对点服务调用。本例中「用户中心」和「业务处理中心」用来同后端「账务中心」通讯的主要方式。
  • 分布式消息服务 (DMS) - 异步化移动消息推送请求。转账操作完成后需要调用移动平台的相关API发送通知。通过DMS能使相关操作异步化,减小阻塞。
  • 分布式数据源 (DDS) - 数据访问层的中间件。本例中我们演示了分库分表的使用场景。
  • 分布式事务服务 (DTS) - 分布式事务框架,用来保障在大规模分布式环境下事务的最终一致性。在 DTS 内部,一个分布式事务的关联方分为发起方和参与者两类。在整个 Demo 中,业务处理中心接收用户的转账申请,然后调用账务中心的转账服务。这样业务处理中心就是 DTS 事务的发起方,而账务中心就是参与方。一笔转账业务涉及到两个账户,这两个账户分布在不同的数据库中,并且这两个账户的更新必须同时成功或同时失败。DTS 就是用来保证分布式事务最终一致性的。
  • 发布部署服务 (DEPS) - 承载整个应用和数据库的发布和部署。

相关资源

产品页面:


场景3:基于蚂蚁mPaaS移动平台构建原生应用

蚂蚁移动开发平台mPaaS已面向受邀企业客户开放。欢迎申请开通体验和技术咨询。
产品负责人:「方略」zl107021@antfin.com

核心演示场景和技术点

1. 客户端开发
  • 基于mPaaS客户端框架和SDK快速构建多模块应用
  • H5容器:「客服」页展现由「零号云客服」所提供的智能客服交互页面,用户可以尝试在此页面同机器人客服作基本问答互动。
2. 服务端开发
  • 基于移动网关服务,连接后端服务,实现移动转账场景中转账交易、查询余额和转账记录等操作;
  • 基于消息推送服务,转账成功后向对方推送消息通知,与用户保持互动;
3. 发布
  • 基于实时发布服务,根据发布平台热修复配置,动态修改H5页面的展现逻辑,如H5的URL;
4. 分析
  • 基于移动分析服务,通过客户端埋点数据统计和分析客户端用户行为和性能质量;

相关资源

产品页面:


场景4:体验蚂蚁云企业级SaaS服务「零号云客服」

企业级SaaS服务「零号云客服」已正式商用。欢迎开通体验和技术咨询。
产品负责人:「大伢」kaiyao.zky@antfin.com

核心演示场景和技术点

「零号云客服」是一款SaaS智能客服产品,背后依托支付宝多年实践的大数据平台,凭借数据挖掘,搜索,语音转文本,自然语音处理,机器学习等前沿技术,打造一套完整的智能服务体系。这节动手实验室将围绕「快速搭建在线服务」来通过几个典型场景,进行零号云客服的实操演示和体验。

  • 蚂蚁智能客服产品介绍和应用场景
  • 创建在线技能组&客服等级
  • 创建客服
  • 构建知识库
  • 配置聊天机器机器人
  • 创建聊天窗和应用集成

相关资源

【云栖快讯】一站式开发者服务,海量学习资源免费学  详情请点击

网友评论