北京云栖大会Tech Insight Workshop:《数据访问代理在分布式交易系统中的操作实战》篇

简介: 本篇是北京云栖大会Tech Insight Workshop金融云主体《使用SOFA来快速构建金融级分布式交易系统》中的一个组成部分。 通过前面的『使用微服务框架快速构建一个分布式交易系统』为您快速搭建了基于微服务的支付系统,但是随着业务量的不断上涨,单库单表的数据库设计已经不能够满足业务的要求,.

背景介绍

本篇是北京云栖大会Tech Insight Workshop金融云主体《使用SOFA来快速构建金融级分布式交易系统》中的一个组成部分。

通过前面的『使用微服务框架快速构建一个分布式交易系统』为您快速搭建了基于微服务的支付系统,但是随着业务量的不断上涨,单库单表的数据库设计已经不能够满足业务的要求,这时可以通过数据访问代理为交易系统的核心订单库增加水平扩展能力。

DEMO整体架构与说明

image
在本篇中,会逐步引导学员通过蚂蚁中间件的数据访问代理控制台来使用数据访问代理来操作支付服务后端的多个数据节点,并通过数据访问代理进行分库分表操作,以及最终实现透明访问。

注意:下列的DEMO详细教程需要用到DEMO代码工程的支付服务的源代码,该部分代码会在近期对外进行开放

实验涉及SOFA产品

详细教程

  • 进入数据访问代理控制台:金融云-【产品与服务】- 【中间件】-【数据访问代理】
    image
  • 控制台-数据访问代理实例管理,这里可以创建一个新的实例或使用已有的数据访问代理实例
    image
  • 当创建完成数据访问代理实例后,需要添加已存在的物理数据节点。点击查看物理数据节点页面,可以添加数据库节点或者查看当前已有的数据库节点
    image
  • 添加一个新的物理数据节,可以是金融云RDS实例,也可以是OceanBase实例,具体详情请参照产品帮助文档。注意这里的物理数据节点需要用户提前采购生成,并获取所需的节点信息,如节点ID,链接地址等。
    image
  • 当数据节点导入成功后,即可进行数据库(即逻辑数据库)的创建,具体过程参加帮助文档,创建名为payment的数据库,成功后可以在当前数据访问代理实例的详细信息中查看:
    image
  • 查看数据库payment的详情信息
    image
  • 新增sequence单表
    image
  • 新增添加拆分表,并录入拆分规则,如下图所示,表示数据表(逻辑数据表)pay_order将被进行规则拆分,后端会对应10张物理数据表,拆分规则是字段“order_no”的第15位。
    image
  • 数据表设置完毕后,可以选择开始执行表 DDL
    image
  • 最终这些操作需要在点击数据表信息详情页面中的【生效】按钮方可生效
    image
  • 查看代码(参照支付系统的DEMO 代码示例)并做相应的改造,调整序列的生成代码
    image
  • 新增分布式序列的查询语句image
  • 新增全表扫描 Hint
    image
  • 调整 application.properties 中的数据库链接地址和密码
    image
目录
相关文章
|
2月前
|
消息中间件 RocketMQ 微服务
RocketMQ 分布式事务消息实战指南
RocketMQ 分布式事务消息实战指南
256 1
|
2月前
|
Java 数据库连接 API
分布式事物【XA强一致性分布式事务实战、Seata提供XA模式实现分布式事务】(五)-全面详解(学习总结---从入门到深化)
分布式事物【XA强一致性分布式事务实战、Seata提供XA模式实现分布式事务】(五)-全面详解(学习总结---从入门到深化)
56 0
|
开发框架 Java 数据库连接
分布式事物【XA强一致性分布式事务实战、Seata提供XA模式实现分布式事务】(五)-全面详解(学习总结---从入门到深化)(下)
分布式事物【XA强一致性分布式事务实战、Seata提供XA模式实现分布式事务】(五)-全面详解(学习总结---从入门到深化)
37 0
|
数据库 微服务
分布式事物【XA强一致性分布式事务实战、Seata提供XA模式实现分布式事务】(五)-全面详解(学习总结---从入门到深化)(上)
分布式事物【XA强一致性分布式事务实战、Seata提供XA模式实现分布式事务】(五)-全面详解(学习总结---从入门到深化)
41 0
|
25天前
|
缓存 应用服务中间件 数据库
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(多级缓存设计分析)
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(多级缓存设计分析)
28 1
|
3月前
|
NoSQL 算法 安全
Redis 分布式锁的正确实现原理演化历程与 Redisson 实战总结
Redis 分布式锁的正确实现原理演化历程与 Redisson 实战总结
123 1
|
3月前
|
SQL 关系型数据库 MySQL
分布式事物【XA强一致性分布式事务实战、分布式架构的理论知识、TCC核心组成】(六)-全面详解(学习总结---从入门到深化)
分布式事物【XA强一致性分布式事务实战、分布式架构的理论知识、TCC核心组成】(六)-全面详解(学习总结---从入门到深化)
32 0
|
4月前
|
Java 应用服务中间件 nginx
阿里巴巴架构实战:SpringBoot+SpringCloud+Docker+Nginx+分布式
在过去的几年时间里,最让人兴奋、回头率最高、最能改变游戏规则的东西,大概就是Spring Boot了。Spring Boot提供了一种新的编程范式,能在最小的阻力下开发Spring应用程序。有了它, 你可以更加敏捷地开发Spring应用程序,专注于应用程序的功能,不用在Spring的配置上多花功 夫,甚至完全不用配置。
|
4月前
|
SQL Java 关系型数据库
Springcloud实战之自研分布式id生成器7
Springcloud实战之自研分布式id生成器7
Springcloud实战之自研分布式id生成器6
Springcloud实战之自研分布式id生成器6

热门文章

最新文章