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

江西航达建设集团网站济宁 创意大厦 网站建设

江西航达建设集团网站,济宁 创意大厦 网站建设,织梦怎么上传wordpress,宠物用品销售网站建设和技术现状前言 上一篇中#xff0c;我们介绍了主从复制#xff0c;相信学过的小伙伴已经能够很好的掌握主从复制的技术#xff0c;实际上也并没有那么难#xff0c;虽然没有讲一主多从#xff0c;多主多从的配置#xff0c;但是从一主一从的配置中也很容易联想到该怎么配置#…前言 上一篇中我们介绍了主从复制相信学过的小伙伴已经能够很好的掌握主从复制的技术实际上也并没有那么难虽然没有讲一主多从多主多从的配置但是从一主一从的配置中也很容易联想到该怎么配置你没猜错就是你想的那样。这篇博客我们要讲解的东西是主从复制的应用——读写分离。一般来说主从复制服务的对象就是读写分离甚至于分库分表否则完全没这个必要今天我们就来学习读写分离的实战应用。 ShardingJDBC 什么是ShardingJDBC Sharding-JDBC定位为轻量级Java框架在Java的JDBC层提供的额外服务。 它使用客户端直连数据库以jar包形式提供服务无需额外部署和依赖可理解为增强版的JDBC驱动完全兼容JDBC和各种ORM框架。 Sharding-JDBC具有以下几个特点 适用于任何基于JDBC的ORM框架如JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。支持任何第三方的数据库连接池如DBCP, C3P0, BoneCP, Druid, HikariCP等。支持任意实现JDBC规范的数据库。目前支持MySQLOracleSQLServerPostgreSQL以及任何遵循SQL92标准的数据库。 为什么要使用ShardingJDBC 为什么要说ShardingJDBC呢不是讲读写分离吗是的就是因为要读写分离所以会引入多个数据源而在我们SSM框架下我们最多也就是引入一个datasource所以我们只好放弃原来的配置使用ShardingJDBC来解决多数据源的情况。 上面写的也只是其一还有另一个重要的原因数据在被操作的时候会有行锁甚至表锁如果这时候去访问这些被锁定的数据你想想会怎么样所以为了更好的进行读写操作我们需要将读和写分开这样就减轻了服务器压力提高了服务器的利用率同时还避免了这种情况使得整个系统的查询性能得到极大的改善。 读写分离实战 项目准备 首先我们需要一个项目你可以选择自己创建但博主这里就不一步步来做了直接使用前几日准备好的项目Java开发 - SpringCache初体验 你也可以直接在自己已有的项目中集成但首先需要配置好主从数据库可参照这篇博客配置Java开发 - MySQL主从复制初体验  以上都准备好了那么我们就进入到下一个环节。 添加依赖 dependencygroupIdorg.apache.shardingsphere/groupIdartifactIdsharding-jdbc-spring-boot-starter/artifactIdversion4.0.0-RC1/version /dependency添加配置 spring:main:allow-bean-definition-overriding: trueshardingsphere:datasource:names:master,slave# 主数据源master:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://172.17.0.2:3306/master_slave?characterEncodingutf-8username: rootpassword: 0# 从数据源slave:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://172.17.0.4:3309/master_slave?characterEncodingutf-8username: rootpassword: 0masterslave:# 读写分离配置load-balance-algorithm-type: round_robin #轮询# 最终的数据源名称name: dataSource# 主库数据源名称master-data-source-name: master# 从库数据源名称列表多个逗号分隔slave-data-source-names: slaveprops:sql:show: true #开启SQL显示默认false 里面的注释写的很详细基本能看明白是啥有两个东西这里要着重说明下 props:sql:show: true #开启SQL显示默认false 开启SQL显示博主曾在Java开发 - 拦截器初体验 中专门讲解过怎么通过拦截器输出SQL但是看到没这里有更简便的方式但并不是说拦截器无用拦截器的作用有很多这只是其中一个。 spring: main:allow-bean-definition-overriding: true 如果不配置该项项目启动之后将会报错 报错信息表明在声明 org.apache.shardingsphere.shardingjdbc.spring.boot 包下的SpringBootConfiguration中的dataSource这个bean时出错, 原因是有一个同名的 dataSource 的bean在com.alibaba.druid.spring.boot.autoconfigure包下的DruidDataSourceAutoConfigure类加载时已经声明了。 添加了此配置当前项目中存在同名的bean后定义的bean会覆盖先定义的。 而我们需要用到的是 shardingjdbc包下的dataSource所以我们需要配置上述属性让后加载的覆盖先加载的。 测试 一不小心竟然快要写完了其实博主已经说过最重要的是配置实际用的时候代码不需要任何的变化下面我们运行项目 然后我们发现这个IP完全无法访问这是因为这个IP是docker内部id博主查了很多资料都没有很好的解决这个问题但是也看到了一些说法 如何访问docker容器ip-Docker-PHP中文网 根据这篇博客最终得到的结论就是虽然无法直接访问docker内部ip但是我们已经通过端口映射到了localhost的端口上所以可以把docker内部ip地址换成主机地址也可以直接用localhostport使用映射的端口就可以。 重新启动项目没有再报出错误我们使用mysql工具链接时也这么做发现完全没有问题。 还有另一篇博客 解决docker宿主机不能访问容器的问题_docker宿主机访问不到容器  这篇博客提出在创建容器的时候容器与宿主机共享同一个网卡不过博主没办法重新创建容器了有兴趣的小伙伴自行尝试。  下面通过postman来访问项目的接口地址添加用户 报错了我们看看控制台输出  原来是我们前几篇博客里讲到的公共字段自动填充的锅加了两个参数create_time,update_time为了能正常请求我们在表里添加这两个字段 alter table user add create_time DATETIME; alter table user add update_time DATETIME; 主库已经有这两个字段了我们看下从库  又验证了主从的实现是完全没问题的。下面重新用postman发起添加用户的请求 添加成功看下控制台输出和主库 再看下从库 可以从控制台看出写操作是主库主从数据库数据都添加进去了下面我们来做查询操作查询新添加的用户libai  查询成功看下控制台输出因为此项目使用了RedisSpringCache所以不会查数据库又是自己坑自己我们清空下Redis缓存 然后再次查询 可以看到查询的数据库是从数据库到此读写分离 测试完成。 结语 整个过程中出现了各种各样的问题还有一些问题在博主的步骤中没有出现但整体上流程都是没问题的大家在自己做的时候细心点即可差之毫厘谬之千里啊读写分离介绍完了你学的怎么样呢有没有学废觉得不错就给博主点个赞吧
http://www.dnsts.com.cn/news/247673.html

相关文章:

  • 搭建网站公司排行榜什么是网络营销渠道
  • 建宣传网站石家庄搜索引擎优化
  • 阿里云自助建站模板国际网站建设的目的
  • 织梦网站版本修改wordpress中附件上传大小
  • wordpress怎样建立多站点东莞网络营销平台
  • 网站模版上线需要什么wordpress建站教程
  • 订餐网站建设网站导航条模板
  • 中文wordpress网站五路居网站建设
  • 保护稀有动物网站建设策划书锚文本外链网站
  • 豆各庄做网站的公司深圳建筑工程师招聘信息
  • 网站开发软件排行榜软件开发需要学什么语言
  • 成都网站建设木木科技网站建设相关工作
  • 做网站找客源南通网站建设规划书
  • 陕西高速建设集团网站莘县网站开发
  • 做网站推广可行吗山西网络营销外包
  • php网站开发实施方案网络营销与策划实训
  • 网站正能量入口广告设计公司名称推荐
  • 梅州市城乡建设部网站首页网站企业备案资料
  • 正规品牌网站设计wordpress悬浮搜索
  • 域名解析后如何建设网站网站图片展示源码
  • 个人网站建设论文中期报告wordpress菜单分列
  • 扬中网站建设价位做个小程序需要多少钱
  • 做数据分析的网站网页链接打不开
  • 化妆品的网站布局设计图片大全架构图在什么网站可以做
  • 免费建设门户网站wordpress升级提示文件流的目标
  • 本地主机 搭建网站百度竞价开户公司
  • 广东微信网站制作公司logo制作软件手机免费版
  • 南京网站搜索排名电子商务网站建设应该侧重哪方面
  • 如何搭建asp网站重庆建设网站多久时间
  • 织梦网站专题模板宁波企业网站制作推荐