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

四川省建设岗位注册中心网站河北建设信息平台网站

四川省建设岗位注册中心网站,河北建设信息平台网站,开源免费cms可商业用,wordpress编辑作者投稿者英文文章目录前言Redis集群原理搭建Redis集群集群拓展后记前言 前两期介绍和搭建了Redis的主从复制架构和哨兵模式#xff0c;虽然哨兵模式能够实现自动故障转移主备切换#xff0c;一定程度上提高了系统的容错性 但这两种架构模式都不能解决单节点的并发压力和物理上线的问题虽然哨兵模式能够实现自动故障转移主备切换一定程度上提高了系统的容错性 但这两种架构模式都不能解决单节点的并发压力和物理上线的问题单节点写的Redis始终无法应对大型项目中的高并发压力以及内存和磁盘的密集IO存取操作。 这种情况下就需要Redis的集群来解决以上的问题 Redis集群原理 Redis3.0开始支持集群模式实现了数据的分布式存储对数据进行分片将数据存储在不同的master节点上 Redis集群采用去中心化的思想没有中心节点的说法对于客户端来说整个集群可以看成一个整体可以连接任意一个节点进行操作就像操作单一Redis实例一样不需要任何代理中间件当客户端操作的key没有分配到该node上时Redis会返回转向指令指向正确的node。 主节点负责读写请求和集群信息的维护从节点只对主节点数据和状态信息的复制称数据分片是Redis集群最核心的功能集群将数据分散到多个master节点集群同样支持主从复制和主节点的自动故障转移(与哨兵模式类似)当任意节点发生故障时集群仍然可以正常对外提供服务 Redis集群采用的是哈希槽分区算法。Redis集群中有16384个哈希槽(槽的范围是 0 -16383哈希槽)将不同的哈希槽分布在不同的Redis节点上面进行管理也就是说每个Redis节点只负责一部分的哈希槽。在对数据进行操作的时候集群会对使用CRC16算法对key进行计算并对16384取模(slot CRC16(key)%16383)得到的结果就是 Key-Value 所放入的槽通过这个值去找到对应的槽所对应的Redis节点然后直接到这个对应的节点上进行存取操作。 摘自https://blog.csdn.net/a745233700/article/details/112691126 搭建Redis集群 集群中的节点是否可用是由集群中的所用master节点选举决定的当半数以上的节点认为某个节点故障了那么该节点就是挂掉了所以搭建redis集群时建议master节点数最好为奇数搭建Redis集群至少需要三个主节点三个从节点。 **注意**我这里用的是redis-6.0.4版本redis-6版本之前还需要安装ruby脚本来构建redis集群而redis-6版本之后直接使用redis-cli构建。 为方便演示这里在一台主机上模拟redis集群的效果 1、准备6个redis服务节点 # (1)在redis根目录下创建6个目录作为6个节点 mkdir -p redis-cluster/redis700{1..6}# (2)编写一个sh脚本将redis的配置文件redis.conf、redis-server和redis-cli复制一份到6个节点目录下或者手动一个个复制 #!/bin/bash for i in {1..6} docp /software/redis/redis.conf /software/redis/redis-cluster/redis700$icp /software/redis/bin/redis-cli /software/redis/bin/redis-server /software/redis/redis-cluster/redis700$i done2、配置6个服务节点 修改6个节点redis.conf配置文件中的以下内容可以修改好一个后复制六份再修改port和集群节点配置文件名nodes-port.conf bind 0.0.0.0 # 开启远程连接 port 7001 # 设置redis服务端口【需要修改6个】 daemonize yes # 开启以守护线程的(后台)方式启动 protected-mode no # 关闭保护模式 requirepass 123456 # 设置Redis服务访问密码 appendonly yes # 开启AOF持久化cluster-enabled yes # 开启集群模式 cluster-config-file nodes-7001.conf # 集群节点配置文件nodes-port.conf【需要修改6个】 cluster-node-timeout 5000 # 集群节点超时时间默认15000毫秒3、启动6个节点 在各自节点目录下执行以下命令启动当前redis服务节点 ./redis-server ./redis.conf# 查看是否启动了六个Redis进程 ps -ef|grep redis4、构建集群 在任意一个节点上执行创建命令构建redis集群构建集群时会根据创建命令节点顺序指定主从节点会自动为master节点分配16384个hash槽 # 六个节点分为三组每组又分为一主一从 # 这里会把前三个做为主节点后三个做为从节点--cluster-replicas 1表示指定每个主节点有一个从节点 ./redis-cli --cluster create 192.168.31.161:7001 192.168.31.161:7002 192.168.31.161:7003 192.168.31.161:7004 192.168.31.161:7005 192.168.31.161:7006 --cluster-replicas 1 -a 123456看到All nodes agree about slots configuration.和All 16384 slots covered即代表集群构建成功 集群拓展 # -c以集群模式连接 ./redis-cli -p 7001 -a 123456 -c # redis-cli连接后通过cluster nodes查看集群的节点信息 192.168.31.161:7001 cluster nodes把7001这个master节点kill掉查看它的从节点是否顶替上来作为新的master节点了 Spring Boot中操作Redis集群 !--redis-- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency# 书写集群中的所有节点IP:port以逗号分隔 spring.redis.cluster.nodes192.168.31.161:7001,192.168.31.161:7002,192.168.31.161:7003,192.168.31.161:7004,192.168.31.161:7005,192.168.31.161:7006后记 redis主从复制、哨兵模式(sentinel)、redis集群(cluster)三种架构模式的演变已经能应对当下市场上的项目对Redis缓存的需求 Redis缓存的存在主要是为了减轻数据库的并发压力当然在分布式系统中由于跨JVM导致synchronized失效而常用Redis来实现分布式锁等Redis的应用也非常广泛 Redis缓存虽减轻了数据库的一部分并发压力但要提高数据库自身的容错性以及实现数据库服务在整个系统中的高可用才是根本 后面将持续带来MySQL的主从复制以及MySQL读写分离(集群)的介绍和搭建详情
http://www.hkea.cn/news/14448997/

相关文章:

  • 网站建设中的财务预算WordPress支持的数据库
  • 如何在自己做的网站中顶置内容做电影网站服务器
  • 深圳品牌网站建设服务网站开发用了哪些技术
  • 做网站需要的导航wordpress找不到对象
  • 网站搭建兼职深圳住房和建设厅网站首页
  • 个人备案可以做企业网站吗事业单位报名网站
  • 旅行社门店做网站嘛手机网站建设制作公司
  • 苏州手机网站seo脑卒中中心建设网站
  • 网站怎样做漂浮wordpress主题换图片
  • 好网站建设公司有哪些小程序开发公司哪里强
  • 怎么用网站做转换服务器ui设计需要学哪些内容
  • 无为县城乡建设局网站首页化妆品wordpress主题
  • 龙岩网站建设较好的公司搜索引擎优化的完整过程
  • 什么是交互式网站开发财税公司网站开发
  • 做网站一年费用做网页的网站
  • 广东省城乡建设厅投诉网站免费设计标志
  • 贵州能源网站 中企动力建设网站主机一个g
  • 全世界做会展介绍的网站排名云谷系统网站开发
  • 昆明网站建设一条龙服务做食品那些网站好
  • 网站建设组织机构工业和信息化部关于开展加强网站备案管理专项行动的通知
  • 建站系统cms是什么wordpress 电影网站
  • 效果图网站推荐大全面包砖株洲营销网站建设
  • 建站网站模板下载坚持以高质量发展为首要任务一
  • 网站关键词在哪设置设计网站排行
  • 网站优化宝外贸公司网站如何免费推广
  • 亳州网站建设推广旅游网页设计模板下载
  • 毕设帮做网站网站做链接代码
  • 备案怎么关闭网站吗网站开发项目费用预算
  • 天津营销网站建设联系方式佛山 做网站公司
  • 模版网站如何建站专业网站建设包括哪些