北京云栖大会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
目录
相关文章
|
8月前
|
人工智能 Kubernetes 数据可视化
Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
本文回顾了一次关键词监测任务在容器集群中失效的全过程,分析了中转IP复用、调度节奏和异常处理等隐性风险,并提出通过解耦架构、动态IP分发和行为模拟优化采集策略,最终实现稳定高效的数据抓取与分析。
156 2
Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
|
10月前
|
消息中间件 运维 Kafka
直播预告|Kafka+Flink双引擎实战:手把手带你搭建分布式实时分析平台!
在数字化转型中,企业亟需从海量数据中快速提取价值并转化为业务增长动力。5月15日19:00-21:00,阿里云三位技术专家将讲解Kafka与Flink的强强联合方案,帮助企业零门槛构建分布式实时分析平台。此组合广泛应用于实时风控、用户行为追踪等场景,具备高吞吐、弹性扩缩容及亚秒级响应优势。直播适合初学者、开发者和数据工程师,参与还有机会领取定制好礼!扫描海报二维码或点击链接预约直播:[https://developer.aliyun.com/live/255088](https://developer.aliyun.com/live/255088)
661 35
直播预告|Kafka+Flink双引擎实战:手把手带你搭建分布式实时分析平台!
|
10月前
|
消息中间件 运维 Kafka
直播预告|Kafka+Flink 双引擎实战:手把手带你搭建分布式实时分析平台!
直播预告|Kafka+Flink 双引擎实战:手把手带你搭建分布式实时分析平台!
308 13
|
数据采集 存储 数据可视化
分布式爬虫框架Scrapy-Redis实战指南
本文介绍如何使用Scrapy-Redis构建分布式爬虫系统,采集携程平台上热门城市的酒店价格与评价信息。通过代理IP、Cookie和User-Agent设置规避反爬策略,实现高效数据抓取。结合价格动态趋势分析,助力酒店业优化市场策略、提升服务质量。技术架构涵盖Scrapy-Redis核心调度、代理中间件及数据解析存储,提供完整的技术路线图与代码示例。
1468 0
分布式爬虫框架Scrapy-Redis实战指南
|
8月前
|
数据采集 缓存 NoSQL
分布式新闻数据采集系统的同步效率优化实战
本文介绍了一个针对高频新闻站点的分布式爬虫系统优化方案。通过引入异步任务机制、本地缓存池、Redis pipeline 批量写入及身份池策略,系统采集效率提升近两倍,数据同步延迟显著降低,实现了分钟级热点追踪能力,为实时舆情监控与分析提供了高效、稳定的数据支持。
359 1
分布式新闻数据采集系统的同步效率优化实战
|
9月前
|
缓存 NoSQL 算法
高并发秒杀系统实战(Redis+Lua分布式锁防超卖与库存扣减优化)
秒杀系统面临瞬时高并发、资源竞争和数据一致性挑战。传统方案如数据库锁或应用层锁存在性能瓶颈或分布式问题,而基于Redis的分布式锁与Lua脚本原子操作成为高效解决方案。通过Redis的`SETNX`实现分布式锁,结合Lua脚本完成库存扣减,确保操作原子性并大幅提升性能(QPS从120提升至8,200)。此外,分段库存策略、多级限流及服务降级机制进一步优化系统稳定性。最佳实践包括分层防控、黄金扣减法则与容灾设计,强调根据业务特性灵活组合技术手段以应对高并发场景。
2614 7
|
数据管理 API 调度
鸿蒙HarmonyOS应用开发 | 探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力
HarmonyOS Next 是华为新一代操作系统,专注于分布式技术的深度应用与生态融合。本文通过技术特点、应用场景及实战案例,全面解析其核心技术架构与开发流程。重点介绍分布式软总线2.0、数据管理、任务调度等升级特性,并提供基于 ArkTS 的原生开发支持。通过开发跨设备协同音乐播放应用,展示分布式能力的实际应用,涵盖项目配置、主界面设计、分布式服务实现及部署调试步骤。此外,深入分析分布式数据同步原理、任务调度优化及常见问题解决方案,帮助开发者掌握 HarmonyOS Next 的核心技术和实战技巧。
1635 76
鸿蒙HarmonyOS应用开发 | 探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力
|
10月前
|
监控 Java 调度
SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战
本文对比分析了SpringBoot中的`@Scheduled`与Quartz定时任务框架。`@Scheduled`轻量易用,适合单机简单场景,但存在多实例重复执行、无持久化等缺陷;Quartz功能强大,支持分布式调度、任务持久化、动态调整和失败重试,适用于复杂企业级需求。文章通过特性对比、代码示例及常见问题解答,帮助开发者理解两者差异,合理选择方案。记住口诀:单机简单用注解,多节点上Quartz;若是任务要可靠,持久化配置不能少。
945 4
|
机器学习/深度学习 分布式计算 API
Python 高级编程与实战:深入理解并发编程与分布式系统
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧、数据科学、机器学习、Web 开发、API 设计、网络编程和异步IO。本文将深入探讨 Python 在并发编程和分布式系统中的应用,并通过实战项目帮助你掌握这些技术。

热门文章

最新文章