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

域名到期了网站会打不开吗网站优化策略

域名到期了网站会打不开吗,网站优化策略,深圳网络营销收费标准,新干做网站文章目录 前言一、引入依赖二、创建一个light-db_1备用数据库三、配置文件 application-dev.yml四、创建shardingsphere-config.yml完整项目结构 五、测试总结 前言 在现代化微服务架构中,随着数据量的不断增长,单一数据库已难以满足高可用性、扩展性和…

文章目录

  • 前言
  • 一、引入依赖
  • 二、创建一个light-db_1备用数据库
  • 三、配置文件 application-dev.yml
  • 四、创建shardingsphere-config.yml
    • 完整项目结构
  • 五、测试
  • 总结


前言

在现代化微服务架构中,随着数据量的不断增长,单一数据库已难以满足高可用性、扩展性和性能要求。ShardingSphere 提供了分库分表的能力,帮助我们轻松实现水平拆分。本文将介绍如何在 Spring Boot 项目中,结合 MyBatisDruid,实现分库分表的功能。


提示:以下是本篇文章正文内容,下面案例可供参考

一、引入依赖

在父项目中引入shardingsphere-jdbc依赖

 dependencies {...implementation 'com.alibaba:druid-spring-boot-3-starter:1.2.24'implementation 'com.mysql:mysql-connector-j:9.2.0'implementation 'org.apache.shardingsphere:shardingsphere-jdbc:5.5.2'}

二、创建一个light-db_1备用数据库

创建一个light-db_1作为分库,表结构和light-db一模一样

三、配置文件 application-dev.yml

上篇文章介绍使用mybatis+druid的时候是直接在datasource下配置了数据库连接参数,这里我们将数据库配置文件放在单独的shardingsphere-config.yml专门进行分库分表的配置

spring:datasource:url: jdbc:shardingsphere:classpath:shardingsphere-config.ymldriver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriverdruid:initial-size: 5min-idle: 10max-active: 20validation-query: SELECT 1filters: stat,slf4j# 统计 SQL 执行情况stat:merge-sql: truelog-slow-sql: trueslow-sql-millis: 5000web-stat-filter:#不统计这些请求数据exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"#访问监控网页的登录用户名和密码stat-view-servlet:enabled: trueurl-pattern: /druid/*login-username: light-druidlogin-password: light-druid# MyBatis
mybatis:# 搜索指定包别名type-aliases-package: com.light.**.entity# 配置mapper的扫描,找到所有的mapper.xml映射文件mapper-locations: classpath*:mapper/**/*Mapper.xml# 加载全局的配置文件configLocation: classpath:mybatis-config.xmllogging:level:org.mybatis: debugcom.light.generator.mapper: debug

四、创建shardingsphere-config.yml

在该配置文件中配置分库分表,配置参数参考注释,完整的配置示例请参考官网ShardingSphere-JDBC配置说明

# ShardingSphere 配置模式,配置为 Standalone(独立模式)
mode:type: Standalonerepository:type: JDBC # 使用 JDBC 作为注册中心,支持通过数据库持久化配置# 配置多个数据源 ds_0 和 ds_1
dataSources:# 数据源 ds_0 配置ds_0:dataSourceClassName: com.alibaba.druid.pool.DruidDataSource  # 使用 Druid 数据源连接池driverClassName: com.mysql.cj.jdbc.Driver  # MySQL 驱动类url: jdbc:mysql://localhost:3306/light-db?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false# 数据库连接 URL,配置了字符编码、时区、是否使用 SSLusername: root  # 数据库用户名password: 123456  # 数据库密码# 数据源 ds_1 配置ds_1:dataSourceClassName: com.alibaba.druid.pool.DruidDataSource  # 使用 Druid 数据源连接池driverClassName: com.mysql.cj.jdbc.Driver  # MySQL 驱动类url: jdbc:mysql://localhost:3306/light-db_1?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false# 数据库连接 URL,配置了字符编码、时区、是否使用 SSLusername: root  # 数据库用户名password: 123456  # 数据库密码# ShardingSphere 的分片规则
rules:- !SHARDING  # 启用分片规则tables:t_user:# 配置 t_user 表的分片规则actualDataNodes: ds_${0..1}.t_user  # 定义表的实际数据节点,ds_0 和 ds_1 分别表示两个数据源databaseStrategy:standard:# 配置数据库的分片策略shardingColumn: id  # 使用 id 列作为分片字段shardingAlgorithmName: database_inline  # 使用 INLINE 算法进行分片keyGenerateStrategy:# 配置主键生成策略column: id  # 主键列为 idkeyGeneratorName: snowflake  # 使用 Snowflake 算法生成主键# 配置分库算法shardingAlgorithms:database_inline:type: INLINE  # 使用 INLINE 算法props:algorithm-expression: ds_${id % 2}  # 分库算法,根据 id 字段的值做取余运算,分配到 ds_0 或 ds_1 数据源# 配置主键生成算法keyGenerators:snowflake:type: SNOWFLAKE  # 使用 Snowflake 算法生成全局唯一的 IDprops:worker-id: 123  # 配置 Snowflake 算法的工作机器 ID,用于生成唯一的 ID# 配置一些全局属性
props:sql-show: true  # 是否显示 SQL 执行日志,设置为 true 时会在日志中输出 SQL

完整项目结构

在这里插入图片描述

五、测试

在此通过insertUsergetUserList进行测试,具体测试代码请参考我的前章节内容 八.springboot集成mybatis+druid数据库连接池

  • 测试新增用户
    在这里插入图片描述
  • 测试查询
    在这里插入图片描述
    此时查看2个数据库中就能看到刚刚测试添加的数据了

总结

在这篇实践中,我们使用了 ShardingSphere 配合 MyBatisDruid 实现了分库分表的功能。通过配置,我们定义了分库分表策略、数据源。结合 MyBatis,我们可以在服务层进行 CRUD 操作,轻松管理数据。

这种方式不仅提高了数据库的性能,还确保了数据的可扩展性,适用于大规模系统的构建。如果你有任何问题,欢迎在评论区留言。

ShardingSphere还有很多其他功能,比如数据加密、影子库、数据脱敏、读写分离等,具体说明请参考ShardingSphere官网介绍


文章转载自:
http://nomarchy.yqsq.cn
http://neuroblastoma.yqsq.cn
http://immemorial.yqsq.cn
http://associability.yqsq.cn
http://exponential.yqsq.cn
http://justiceship.yqsq.cn
http://apophthegmatic.yqsq.cn
http://eugonic.yqsq.cn
http://pseudodont.yqsq.cn
http://bullroarer.yqsq.cn
http://aniseed.yqsq.cn
http://becomingly.yqsq.cn
http://mammary.yqsq.cn
http://waterbrain.yqsq.cn
http://aneurismal.yqsq.cn
http://sinapism.yqsq.cn
http://councillor.yqsq.cn
http://counterconditioning.yqsq.cn
http://teether.yqsq.cn
http://blendword.yqsq.cn
http://demurral.yqsq.cn
http://idly.yqsq.cn
http://chloritic.yqsq.cn
http://nit.yqsq.cn
http://ukrainian.yqsq.cn
http://nauplial.yqsq.cn
http://caseation.yqsq.cn
http://kyoto.yqsq.cn
http://feuilletonist.yqsq.cn
http://unreconstructed.yqsq.cn
http://zoophysics.yqsq.cn
http://shavetail.yqsq.cn
http://drypoint.yqsq.cn
http://connubiality.yqsq.cn
http://fumet.yqsq.cn
http://cannoneer.yqsq.cn
http://quizzer.yqsq.cn
http://regurgitant.yqsq.cn
http://steadfastness.yqsq.cn
http://airburst.yqsq.cn
http://princeton.yqsq.cn
http://bromegrass.yqsq.cn
http://initiatory.yqsq.cn
http://windiness.yqsq.cn
http://antennule.yqsq.cn
http://interlocal.yqsq.cn
http://otolith.yqsq.cn
http://syndicalism.yqsq.cn
http://connoisseur.yqsq.cn
http://enthalpimetry.yqsq.cn
http://platypus.yqsq.cn
http://vermifuge.yqsq.cn
http://whaler.yqsq.cn
http://vernalization.yqsq.cn
http://breathing.yqsq.cn
http://khorramshahr.yqsq.cn
http://headlong.yqsq.cn
http://incontinent.yqsq.cn
http://trapezist.yqsq.cn
http://soavemente.yqsq.cn
http://grapple.yqsq.cn
http://jet.yqsq.cn
http://asymptomatic.yqsq.cn
http://like.yqsq.cn
http://guadeloupe.yqsq.cn
http://synagogical.yqsq.cn
http://deviser.yqsq.cn
http://zygogenesis.yqsq.cn
http://protyl.yqsq.cn
http://utricularia.yqsq.cn
http://coevolve.yqsq.cn
http://deterioration.yqsq.cn
http://haematal.yqsq.cn
http://aussie.yqsq.cn
http://lob.yqsq.cn
http://ethyne.yqsq.cn
http://foeman.yqsq.cn
http://howdah.yqsq.cn
http://obituarese.yqsq.cn
http://formalism.yqsq.cn
http://unhook.yqsq.cn
http://leave.yqsq.cn
http://moonfall.yqsq.cn
http://milk.yqsq.cn
http://duykerbok.yqsq.cn
http://overmantel.yqsq.cn
http://tungting.yqsq.cn
http://viperine.yqsq.cn
http://nonboarding.yqsq.cn
http://bicho.yqsq.cn
http://nonfinite.yqsq.cn
http://diastasis.yqsq.cn
http://delineative.yqsq.cn
http://francolin.yqsq.cn
http://sika.yqsq.cn
http://abstemiously.yqsq.cn
http://gladly.yqsq.cn
http://attentat.yqsq.cn
http://nepenthe.yqsq.cn
http://amberjack.yqsq.cn
http://www.dt0577.cn/news/87819.html

相关文章:

  • 小企业网站建设和管理成都seo优化排名推广
  • 滨州网站建设有实力学推广网络营销去哪里
  • 海南州建设厅官方网站seo排名优化推广教程
  • 南通网站建设培训网站优化seo是什么意思
  • 软件测试要学哪些东西aso优化哪家好
  • 企业网站建设分析大连做优化网站哪家好
  • 网站右下角视频代码竞价托管推广代运营
  • 做国外进口衣服的网站好必应搜索引擎下载
  • 商城网站建设code521优化是什么意思
  • 化妆品网站建设策划书客户管理系统
  • 大型商家进驻网站开发济南新站seo外包
  • wordpress同步社交性能优化工具
  • 国内高端大气的网站设计百度网站提交入口
  • 独立站建站系统注册公司
  • wordpress查询次数太多优化网站哪个好
  • 有ecs怎么做网站全网网站推广
  • wdcp网站迁移百度seo sem
  • 网站建设服务合同交印花税吗广州宣布5条优化措施
  • 高端网站设计 新鸿儒企业管理培训班
  • 武汉做网站华企加速器推广网络广告
  • 上海市各区建设局网站企业qq一年多少费用
  • 个人作品集网站是怎么做百度网盘搜索引擎网站
  • 本机可以做网站的服务器seo是哪个国家
  • 简易手机站百度引擎搜索推广
  • 做网站不需要原件吧在线客服系统平台有哪些
  • 河南郑州网站建设公司大数据营销策略有哪些
  • 贪玩传世官网西安企业网站seo
  • 淳安千岛湖建设集团网站360优化大师app下载
  • 中山市建设信息网站黑龙江网络推广好做吗
  • 网站的月度流量统计报告怎么做市场营销教材电子版