概念

ShardingSphere-Proxy是一个独立的应用,需要安装服务,只需配置即可完成分库分表和读写分离配置。通过配置文件,使得开发者可以像使用mysql数据库一样使用底层的各种分表分库以及读写分离的内容。

配置文件介绍

server.xml,配置全局的信息

authentication:users:root: #用户名password: root #密码sharding:password: shardingauthorizedSchemas: sharding_db #只能访问的逻辑数据库props:max.connections.size.per.query: 1acceptor.size: 16  #用于设置接收客户端请求的工作线程数,默认是CPU核数*2executor.size: 16  # Infinite by default.proxy.frontend.flush.threshold: 128  # The default value is 128.# LOCAL: Proxy will run with LOCAL transaction.# XA: Proxy will run with XA transaction.# BASE: Proxy will run with B.A.S.E transaction.proxy.transaction.type: LOCAL #默认为local事务proxy.opentracing.enabled: false #是否开启链路追踪功能,默认不开启query.with.cipher.column: truesql.show: false #sql打印

config-sharding.yaml,配置数据源,数据库的分库分表

schemaName: sharding_dbdataSources:ds_0:url: jdbc:mysql://127.0.0.1:3306/edu_db_1?serverTimezone=UTC&useSSL=falseusername: rootpassword: 123456connectionTimeoutMilliseconds: 30000idleTimeoutMilliseconds: 60000maxLifetimeMilliseconds: 1800000maxPoolSize: 50shardingRule:tables:t_order:actualDataNodes: ds_${0}.t_order_${0..1}tableStrategy:inline:shardingColumn: order_idalgorithmExpression: t_order_${order_id % 2}keyGenerator:type: SNOWFLAKEcolumn: order_idbindingTables:- t_orderdefaultDatabaseStrategy:inline:shardingColumn: user_idalgorithmExpression: ds_${0}defaultTableStrategy:none:

config-master_slave.yaml 读写分离配置

schemaName: master_slave_dbdataSources:master_ds:url: jdbc:mysql://127.0.0.1:3306/demo_ds_master?serverTimezone=UTC&useSSL=falseusername: rootpassword:connectionTimeoutMilliseconds: 30000idleTimeoutMilliseconds: 60000maxLifetimeMilliseconds: 1800000maxPoolSize: 50slave_ds_0:url: jdbc:mysql://127.0.0.1:3306/demo_ds_slave_0?serverTimezone=UTC&useSSL=falseusername: rootpassword:connectionTimeoutMilliseconds: 30000idleTimeoutMilliseconds: 60000maxLifetimeMilliseconds: 1800000maxPoolSize: 50slave_ds_1:url: jdbc:mysql://127.0.0.1:3306/demo_ds_slave_1?serverTimezone=UTC&useSSL=falseusername: rootpassword:connectionTimeoutMilliseconds: 30000idleTimeoutMilliseconds: 60000maxLifetimeMilliseconds: 1800000maxPoolSize: 50masterSlaveRule:name: ms_dsmasterDataSourceName: master_dsslaveDataSourceNames:- slave_ds_0- slave_ds_1

使用sharding-proxy,需要导入MySQL的驱动包,根据自己的版本导入。

小总结

 1.ShardingSphere-JDBC:简化了对于分库分表以后数据库的操作,但是还得在java配置文件中配置。2.ShardingSphere-proxy:将JDBC的配置独立开,形成一个新的服务。使得开发者像是操作一个数据库那样,底层帮我们去完成分库分表的CRUD操作等。

ShardingSphere-Proxy介绍相关推荐

  1. ShardingSphere(一)ShardingSphere简单介绍及相关概念

    一.ShardingSphere简单介绍 出现背景:当数据库数据巨大时,数据库读写性能将变得很低,为了解决此问题,设计时,可以将数据进行分别存储于不同数据库.不同表中,以降低单表量数量大问题:Shar ...

  2. 基于 GraalVM 的 ShardingSphere Proxy Native 探索

    作者简介:ShardingSphere Contributor,何其恒,自2021 年开始为项目贡献小的改进.专注于添加现有模块对 GraalVM Native-Image 的第一方支持与 Shard ...

  3. ShardingSphere基本介绍及核心概念

    文章目录 关于分库分表 背景描述 遇到的问题 如何解决 垂直拆分 水平拆分(数据分片) ShardingSphere介绍 Sharding-JDBC Sharding-JDBC主要功能: Shardi ...

  4. 深度剖析Apache Shardingsphere对分布式事务的支持

    Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 JDBC.Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够混合部署配合使用的产 ...

  5. ShardingSphere UI 初步体验

    简介 在上两篇文章中,尝试了ShardingSphere JDBC和Proxy的相关功能,本篇进行探索ShardingSphere的UI组件部分 示例运行 这个应该是一个管理配置之类的东西,国际惯例, ...

  6. MySQL水平分区代理Spock Proxy(一)

    为什么80%的码农都做不了架构师?>>>    MySQL水平分区代理Spock Proxy 水平分区(sharding)将同一数据表中的数据通过特定的算法进行分离,分别保存在不同的 ...

  7. 预览ExtJS 4.0的新功能(四):焕然一新的Store/Proxy

    焕然一新的Store/Proxy 转载请注明出处Ext中文网 (http://www.ajaxjs.com) . 上期讲到,Ext JS4 可以允许我们定义业务模型之间的关系(Association) ...

  8. 没文档也要扒源码让 ShardingSphere 支持 openGauss SCRAM 前端认证

    记录自己如何在没有协议文档的情况下,根据 openGauss JDBC Driver 源码,让 ShardingSphere openGauss Proxy 支持 openGauss 的 SCRAM ...

  9. Apache ShardingSphere 5.0.0-alpha版本发布

    点击蓝字 关注我们 本期看点 Apache ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC.Sharding-Proxy和Shardin ...

  10. 梦幻联动-MogDB与ShardingSphere在TPC-C上的表现

    一.MogDB  1. 什么是MogDB MogDB是云和恩墨基于openGauss开源数据库的内核进行研发,推出的一款极致易用的企业级关系型数据库.MogDB具备金融级高可用和全密态计算的极致安全. ...

最新文章

  1. centos 默认mysql_centos改变mysql默认目录
  2. python 发布包_如何将自己的Python包发布到PyPI
  3. 在 Linux 命令行中使用 tcpdump 抓包
  4. 【mysql 】sql删除重复记录 You can't specify target table '表名' for update in FROM clause
  5. 静态方法(对象方法)、实例方法的调用
  6. 超标量、超级流水线、超长指令字、向量机 SIMD
  7. 猜1-10的数字python脚本
  8. ExcelManager--基于.Net的Excel读写管理类库(一)
  9. JAVA——两个List集合求交集、并集和差集(去重)模板
  10. 亚马逊云基础架构:一场从未停歇的技术创新革命
  11. fifo算法_前端进阶算法6:一看就懂的队列及配套算法题
  12. Android关于Theme和style的总结
  13. (转)国外优秀区块链创业公司梳理
  14. city机器人 东京diver_东京一日游路线推荐
  15. PSM价格敏感度模型
  16. PhotoShop纸张大小
  17. Window10 ie自带浏览器下载乱码
  18. ArtWork+并查集二维
  19. 【A Neural Algorithm of Artistic Style】 Pics
  20. 用python代码(turtle库)绘制好看的效果图

热门文章

  1. 双端影视APP搭建详细教程
  2. vim插件ivim-安装教程
  3. 分布式CAP定理,为什么不能同时满足三个特性?
  4. 浪潮信息的服务器电源拆解报告,45nm四核浪潮NF280D拆解实录
  5. 【转】周鸿祎:创业计划书,十页PPT讲清九大问题!
  6. 文件扫描怎么弄?这三个简单方法试试看
  7. 华三交换机如何设置时间
  8. 深度学习三大框架对比
  9. springboot 定时任务 Scheduled(fixedRate ,fixedDelay ,initialDelay,cron)使用
  10. Moravec(莫拉维克)影像特征点提取(含原理与C代码)