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

昆山便宜做网站php做网站需要什么

昆山便宜做网站,php做网站需要什么,品传集团网站建设,wordpress 的客户端1、概述 读写分离是一种常见的数据库架构#xff0c;它将数据库分为主从库#xff0c;一个主库#xff08;Master#xff09;用于写数据#xff0c;多个从库#xff08;Slave#xff09;进行轮询读取数据的过程。主从库之间通过某种通讯机制进行数据的同步。 所以…1、概述 读写分离是一种常见的数据库架构它将数据库分为主从库一个主库Master用于写数据多个从库Slave进行轮询读取数据的过程。主从库之间通过某种通讯机制进行数据的同步。 所以数据的读写分离是在数据库的主从复制基础上建立起来的。 数据库的主从复制可以参考之前的文章Mysql8.0实现主从复制。 读写分离的原理是让主数据库处理事务性增、改、删操作INSERT、UPDATE、DELETE而从数据库处理SELECT查询操作。这样可以有效地减轻主数据库的压力提高数据库的并发性能和稳定性。 2、优缺点 优点 减轻数据库压力通过将读操作和写操作分开到不同的数据库服务器上可以有效地减轻主数据库的压力提高数据库的并发性能和稳定性。提高性能只读服务器没有写操作可以大大减轻磁盘IO等性能问题提高查询效率。同时读服务器可以采用负载均衡实现读操作的可伸缩性。易于扩展读写分离可以很容易地扩展到更多的数据库服务器上以满足不断增长的业务需求。 缺点 数据实时性差数据不是实时同步到只读服务器上的当数据写入主服务器后要在下次同步后才能查询到。这可能导致数据不一致的问题。数据量大时同步效率差单表数据量过大时插入和更新因索引、磁盘IO等问题性能会变的很差。这可能影响到只读服务器的性能和稳定性。连接多个数据库至少要连接到两个数据库实际的读写操作是在程序代码中完成的容易引起混乱。这增加了开发和维护的复杂性。 3、SpringBoot整合实现 使用SpringBoot对ShardingSphere的基本整合可以浏览之前的文章 ShardingSphere数据分片之分表操作。 因为是SpringBoot整合ShardingSphere所以我们只需要配置Yaml文件便可以轻松的实现数据库的读写分离。 3.1、引入依赖 CSDN上很多博客都使用的是sharding-jdbc-spring-boot-starter依赖但是这个依赖是很久以前的了在需求日益增长的现在还是要紧跟时代比较好所以我就用了离现在不是很久的依赖。 dependencygroupIdorg.apache.shardingsphere/groupIdartifactIdshardingsphere-jdbc-core-spring-boot-starter/artifactIdversion5.1.1/version/dependency3.2、配置YAML文件 这里结合了读写分离 分表的操作所以YAML文件的配置就比较多。 spring:shardingsphere:props:sql-show: true # 展示shardingSphere对SQL的处理datasource: # 配置真实的数据源master: # 主数据库username: rootpassword: 123456url: jdbc:mysql://wangwu_mysql:3306/mysql_test?serverTimezoneAsia/Shanghai # zhoujn.e3.luyouxia.net:11580type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverslave: # 从数据库username: rootpassword: 123456url: jdbc:mysql://zhangsan_mysql:3306/mysql_test?serverTimezoneAsia/Shanghaitype: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Drivernames: masterrules: # 配置路由规则readwrite-splitting: # 配置读写分离data-sources: # 读写分离数据库配置read-write-datasource: # 自定义读写分离数据库配置名称type: Static # 静态配置配置的选项来自同一个YAML文件的datasource参数props:write-data-source-name: master # 写库的配置read-data-source-names: slave # 读库的配置多个从库之间使用逗号进行隔开load-balancer-name: round-robin # 多个读库之间采用的访问策略load-balancers: # 访问策略的配置round-robin: # 自定义策略名称type: ROUND_ROBIN # 明确的策略sharding: # 数据分片配置sharding-algorithms: # 数据分片算法配置table-inline:type: INLINEprops:algorithm-expression: test_$-{id % 2}tables: # 表的分片配置logic_table_name:actual-data-nodes: read-write-datasource.test_${0..1}table-strategy:standard:sharding-column: idsharding-algorithm-name: table-inlinemode:type: Memoryrepository:type: JDBCload-balancers.type从库访问策略可以是以下的值 参数名称描述ROUND_ROBIN轮询负载均衡器。按照顺序依次将请求分配给每个分片当所有分片都处理完后再从头开始分配。LEAST_ACTIVE最少活跃调用负载均衡器。选择当前活跃请求数最少的分片作为目标分片。LEAST_CONNECTION最少连接负载均衡器。选择当前连接数最少的分片作为目标分片。RANDOM随机负载均衡器。随机选择一个分片作为目标分片。LEAST_RESPONSE_TIME最少响应时间负载均衡器。选择当前响应时间最少的分片作为目标分片。 注意点 在使用读写分离时actual-data-nodes参数所对应的真是表的名称不再是Master或者Slave而是rules.readwrite-splitting.data-sources下自定义是读写分离数据库的名称。 否则读写分离不会成功。 其他的分库分表参数请浏览ShardingSphere数据分片之分表操作。 3.3、代码层面 整合了ShardingSphere后代码层面还是和日常的编写方式一样就可以了。 3.3.1、controller RestController RequiredArgsConstructor public class shardingController {private final TestServiceImpl testService;GetMapping(value /add)public String addData(){for(int i 1; i 10; i){// 此处的操作一定是在Master库中执行的testService.save(new Test().setTestName(data_ i).setId(i));}return 插入完成;}GetMapping(value /list)public ListTest list(){// 此处的操作一定是在Slave库中执行return testService.list();}}3.3.2、service Service public class TestServiceImpl extends ServiceImplTestMapper, Test implements IServiceTest { } 3.3.3、mapper Mapper public interface TestMapper extends BaseMapperTest { }
http://www.yutouwan.com/news/78356/

相关文章:

  • 上海比较好的网站制作公司公司网站维护费用计哪个科目
  • 长沙专业建设网站企业渭南软件开发
  • 商务网站建设流程网站优化细节
  • 产品seo标题是什么百度关键词优化推广
  • 惠阳住房与规划建设局网站上海市住房建设部官方网站
  • 网站怎么发邮件建设网站什么费用
  • 莱州人社局网站中企动力企业z云邮登陆
  • 做h5免费的网站有修改wordpress的登陆地址
  • 网站建设到底怎么回事公司vi形象设计
  • 福州网站建设方案咨询旅游电子商务网站策划书
  • 伍壹捌网站建设环球影城半年卡怎么预约
  • 宁波高端网站建设公司成都教育网站建设
  • 网站自己做推广网站开发用哪个框架
  • 零基础网站建设教学服务wordpress的特点()
  • 河北廊坊建设局网站网站建设参考的文献
  • 网站平台建设实训总结用pycharm做网站
  • 甘肃省建设工程网上投标网站济南新风向网站建设
  • 坪山网站建设平台短视频运营方案书范文
  • 网站线上运营一个网站怎么做2个服务器
  • 电商网站有哪些电商网站订烟平台
  • 三合一网站系统东莞企业网络推广运营技巧
  • 设计师网站卡密登录内蒙网站建设
  • 网站排名推广怎么做网页建设类有哪些软件
  • 淮南营销型网站建设怎么样如何注册公司网站免费注册
  • aspx网站开发 案例建设工程施工合同范文
  • 湛江做网站哪家好设计公司调研报告
  • 网站导航结构的优化九一人才网赣州
  • 国内知名企业网站线上销售技巧
  • 网站开发设计课程教案html个人网页完整代码展示
  • 溧阳网站开发wordpress手机版如何设置