当前位置: 首页 > wzjs >正文

有谁做过网站建设邯郸网站推广

有谁做过网站建设,邯郸网站推广,途牛旅游线路网站建设分析,上海专业网站建设平台在使用 ShardingSphere Proxy 模式时,结合 主从复制架构 实现 读写分离,并按照 用户ID哈希算法 确定库、时间范围 确定表的场景下,配置文件需要做一些调整以支持分片、读写分离以及主从复制。 以下是如何配置 ShardingSphere Proxy 模式的详…

在使用 ShardingSphere Proxy 模式时,结合 主从复制架构 实现 读写分离,并按照 用户ID哈希算法 确定库、时间范围 确定表的场景下,配置文件需要做一些调整以支持分片、读写分离以及主从复制。

以下是如何配置 ShardingSphere Proxy 模式的详细步骤:

1. 数据库配置

假设我们有多个数据库 db_0, db_1, …, db_9,每个数据库都有主从复制架构,即每个数据库都有一个主节点和多个从节点。我们可以按照以下方式配置 ShardingSphere Proxy。

配置文件示例(sharding.yml

schemaName: sharding_dbdataSources:# 主库配置(每个数据库有主从架构)ds_0_master:url: jdbc:mysql://localhost:3306/db_0_masterusername: rootpassword: rootdriverClassName: com.mysql.cj.jdbc.Driverds_0_slave:url: jdbc:mysql://localhost:3306/db_0_slaveusername: rootpassword: rootdriverClassName: com.mysql.cj.jdbc.Driverds_1_master:url: jdbc:mysql://localhost:3306/db_1_masterusername: rootpassword: rootdriverClassName: com.mysql.cj.jdbc.Driverds_1_slave:url: jdbc:mysql://localhost:3306/db_1_slaveusername: rootpassword: rootdriverClassName: com.mysql.cj.jdbc.Driver# 配置其他数据库的主从架构...# 配置读写分离
readwriteSplitting:ds_0:writeDataSourceName: ds_0_masterreadDataSourceNames:- ds_0_slaveds_1:writeDataSourceName: ds_1_masterreadDataSourceNames:- ds_1_slave# 配置其他数据库的主从架构...# 配置分片规则
sharding:tables:user_trades:actualDataNodes: ds${0..9}.user_trades_${yyyy_MM}tableStrategy:inline:shardingColumn: user_idalgorithmExpression: user_trades_${yyyy_MM}databaseStrategy:inline:shardingColumn: user_idalgorithmExpression: ds${user_id.hashCode() % 10}keyGenerator:column: trade_idtype: SNOWFLAKEbindingTables:- user_trades

配置 Spring Boot 与 ShardingSphere Proxy 连接

在 application.properties 或 application.yml 中配置数据源连接 ShardingSphere Proxy。
application.yml 配置

spring:datasource:url: jdbc:mysql://localhost:3307/example_dsusername: rootpassword: passworddriver-class-name: com.mysql.cj.jdbc.Driverhikari:maximum-pool-size: 10

此配置中,localhost:3307 是 ShardingSphere Proxy 的地址,假设 Proxy 配置监听在该端口。

2. 解释配置内容

数据源配置 (dataSources)

每个数据源(ds_0_master, ds_0_slave, ds_1_master, ds_1_slave 等)都配置了一个主库和从库。主库用于写操作,从库用于读操作。通过这种方式,ShardingSphere Proxy 可以实现 读写分离

  • 主库:用于所有的写操作。
  • 从库:用于所有的读操作。

读写分离配置 (readwriteSplitting)

readwriteSplitting 配置将数据库的主从节点进行绑定,指定写操作走主库,读操作走从库。
例如:

ds_0:writeDataSourceName: ds_0_masterreadDataSourceNames:- ds_0_slave

该配置意味着,所有针对 ds_0 数据源的写操作会被路由到 ds_0_master,而所有读操作则会被路由到 ds_0_slave

分片规则 (sharding)

ShardingSphere 中,分片规则的配置包括 数据库分片表分片

  • 数据库分片策略
    • 基于 用户ID哈希算法 对数据库进行分片。通过 user_id.hashCode() % 10 确定用户数据存储在哪个数据库(ds_0, ds_1, …, ds_9)。
  • 表分片策略
    • 根据 时间范围 来确定表。例如,可以按月来分片,表名会是 user_trades_2023_01, user_trades_2023_02 等。
    • actualDataNodes: ds${0..9}.user_trades_${yyyy_MM} 配置表示每个数据库中都有以 yyyy_MM 格式命名的表。

分片键

  • user_id 是分片键,ShardingSphere 会根据 user_id 的哈希值决定数据落在哪个数据库上。
  • yyyy_MM 是时间范围,用来决定数据落在哪个具体的表上。

主键生成器

  • 这里使用了 Snowflake 算法生成 trade_id,确保每个 trade_id 在分布式环境下是唯一的。

3. 读写分离工作原理

  • 写操作:所有的写操作会根据 user_id 哈希值决定目标数据库,然后路由到对应的 主库ds_0_master, ds_1_master, …)。
  • 读操作:所有的读操作会根据 user_id 哈希值决定目标数据库,然后路由到对应的 从库ds_0_slave, ds_1_slave, …)。

4. 配置调整

  • 分片粒度:你可以根据实际需求调整分片粒度,按 月、季度、年 等时间段进行分表。
  • 数据库扩展:随着数据量的增加,你可以增加更多的数据库(ds_10, ds_11, …),并相应修改分片策略,以支持水平扩展。

5. 测试和监控

  • 在生产环境中,进行充分的 负载测试性能监控,确保读写分离能够有效地缓解读压力,并且系统的整体性能达到预期。
  • 使用 ShardingSphere 提供的监控工具(如 Prometheus、Grafana)来监控数据库负载、请求量等指标,确保系统稳定。

总结

通过 ShardingSphere Proxy 模式和主从复制架构,你可以实现 读写分离分布式分片。配置文件中,关键是将 数据库分片读写分离 配置结合起来,确保写操作进入主库,读操作路由到从库,同时按照 用户ID哈希算法 来决定库,按 时间范围 来决定表。这种设计可以有效提高系统的可扩展性、性能和容错性。


文章转载自:

http://01U3luQB.txqsm.cn
http://4kqRxHCG.txqsm.cn
http://xUM2gbuX.txqsm.cn
http://ImFkyTUt.txqsm.cn
http://xrAYfkZd.txqsm.cn
http://bwzHQc8e.txqsm.cn
http://NSGLHnGi.txqsm.cn
http://8SribJoU.txqsm.cn
http://R2GmCDHx.txqsm.cn
http://oXUm5cHD.txqsm.cn
http://ChNA4Mo4.txqsm.cn
http://5YXJv7Rz.txqsm.cn
http://QxmKQlFc.txqsm.cn
http://IMpzq1VE.txqsm.cn
http://TP3bWb9U.txqsm.cn
http://OTHZ1t6Y.txqsm.cn
http://GxsUDXSq.txqsm.cn
http://Jcn4P3wk.txqsm.cn
http://rFOrh4t1.txqsm.cn
http://86s3kTFM.txqsm.cn
http://WZDVv1bP.txqsm.cn
http://gi0jYFgY.txqsm.cn
http://QHJxImpG.txqsm.cn
http://v3CxnlrR.txqsm.cn
http://SVikFi94.txqsm.cn
http://h3o9Iq4p.txqsm.cn
http://ImfDr4qM.txqsm.cn
http://qmMTYWZm.txqsm.cn
http://0mwSN5Bm.txqsm.cn
http://fswotkEv.txqsm.cn
http://www.dtcms.com/wzjs/743258.html

相关文章:

  • 山东正元建设网站vs做网站案例
  • 网站建设与推广王钊互联网小白怎么入门
  • 网站制作能赚多少钱wordpress默认主题哪个好
  • 网站做预览文档网站建设商标在哪个类别
  • 企业网站手机端模板做网站的教学视频
  • 做网站的而程序芜湖比较出名的企业
  • 申请网站官网手机网站html模板
  • 网站上怎么做通栏的图片大连集团网站建设
  • 青岛比较知名的网站建设公司公司电商网站开发方案
  • 外贸soho建站网站定制
  • 建设网站教程全集怎样做网站标题优化
  • 网站建设子栏目文案设计方案表网站名称
  • 常德网站建设字答科技宿迁盐城网站建设企业
  • 广州黄浦区建设局网站潍坊网站搜索引擎优化
  • 免费制作软件app的网站网站反链暴增怎么回事
  • 深圳 购物网站wordpress无法更换主题
  • 郑州网站优化关键词王也头像男
  • 怎么做本地网站网站代理访问是什么意思
  • 容桂手机网站建设网站ie不兼容
  • 网站建设文档网站备案人的法律风险
  • 烟台网站建设首推企汇互联见效付款大学生创新创业大赛的意义
  • 网站建设 超薄网络设计工作室宣传文案
  • 网站栏目推介怎么做在线3d建模网站
  • 商务网站欣赏网站建设 保障接单 计划
  • 做公司中文网站需要注意什么网站品牌形象设计怎么做
  • 门户网站建设工作wordpress网站之间互联
  • 用dw做网站的好处界面设计的重要性
  • 百度网站怎么做视频公司网站开发方案
  • 高端建站网站设计好看的企业网站
  • 做网站是买服务器还是买主机汕头cms模板建站