专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

三台服务器使用docker搭redis哨兵,概念整合spri

  一、前言
  redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。
  redis有两种高可用的方案:HighavailabilitywithRedisSentinel(哨兵)ScalingwithRedisCluster(分片集群)
  第一个就是我们本次的要搭建的,就是高可用的哨兵,主redis挂掉,哨兵会进行投票进行故障转移!
  第二个就是分片集群,哨兵的一个缺点就是只能存在一个master节点,写的效率太低。分片集群就是解决哨兵的问题,可以水平扩展,提高redis的性能!
  哨兵最低配是三哨兵,以奇数递增。
  分片集群最低配是三主三从。
  小编之前写过一篇在一台机器上搭建的文章,大家有兴趣可以先去体验一下,实际生产上不会让你一台机器上;也没有任何意义,服务器挂了,再多的集群也全部挂掉了!!
  dockercompose搭建redis7。0。4高可用一主二从三哨兵集群并整合SpringBoot【图文完整版】二、准备
  首先我们要准备:
  三台服务器(没有的条件的搭三个虚拟机),巧了小编就是虚拟机哈!
  三台机器的ip和名称在表格里整理一下!
  ip
  redis节点名称
  sentinel节点名称
  192。168。239。131
  redismaster
  redissentinel1
  192。168。239。130
  redisslave1
  redissentinel2
  192。168。239。128
  redisslave2
  redissentinel3三、Sentinel概念
  RedisSentinel在不使用RedisCluster时为Redis提供高可用性。
  Sentinel功能的完整列表:监控:Sentinel不断检查您的主实例和副本实例是否按预期工作。通知:Sentinel可以通过API通知系统管理员或其他计算机程序,其中一个受监控的Redis实例出现问题。自动故障转移:如果master没有按预期工作,Sentinel可以启动一个故障转移过程,其中一个副本被提升为master,其他额外的副本被重新配置为使用新的master,并且使用Redis服务器的应用程序被告知要使用的新地址连接时。自动更新配置:Sentinel充当客户端服务发现的权威来源:客户端连接到Sentinels以询问负责给定服务的当前Redismaster的地址。如果发生故障转移,Sentinels将报告新地址。
  官方哨兵搭建条件:您至少需要三个Sentinel实例才能进行可靠的部署。三个Sentinel实例应该放置在被认为以独立方式发生故障的计算机或虚拟机中。因此,例如在不同可用区上执行的不同物理服务器或虚拟机。
  详细介绍和使用:请见官网官网详细文档:https:redis。iodocsmanagementsentinel四、一主二从搭建
  话不多说,咱们直接开始搭建哈!1。创建挂载目录
  三台机器上新建目录:
  首先我们开启三个xshell窗口,然后同时操作三个窗口创建
  在这里插入图片描述
  然后再左下角选择发送到全部窗口!cdmkdirmydatacdmydatamkdirrediscdredismkdirdatamkdirconfcdconf2。在192。168。239。131机器上编辑文件vimredis。conf
  输入以下内容:任何都可以连接redisbind0。0。0。0配置master密码requirepass123456宕机后成为从要连接master的密码masterauth123456开启持久化appendonlyyes
  在这里插入图片描述3。在192。168。239。130机器上编辑文件vimredis。conf
  输入以下内容:配置master的ip和端口号replicaof192。168。239。1316379任何都可以连接redisbind0。0。0。0成为master后的密码requirepass123456连接master密码masterauth123456开启持久化appendonlyyes
  在这里插入图片描述4。在192。168。239。128机器上编辑文件vimredis。conf
  输入以下内容:配置master的ip和端口号replicaof192。168。239。1316379任何都可以连接redisbind0。0。0。0成为master后的密码requirepass123456连接master密码masterauth123456开启持久化appendonlyyes5。192。168。239。131启动redisdockerrunp6379:6379nameredismastervmydataredisdata:usrlocaletcredisdatavmydataredisconfredis。conf:usrlocaletcredisredis。confdredisredisserverusrlocaletcredisredis。conf
  查看启动日志:dockerlogsfredismaster
  在这里插入图片描述6。192。168。239。130启动redisdockerrunp6379:6379nameredisslave1vmydataredisdata:usrlocaletcredisdatavmydataredisconfredis。conf:usrlocaletcredisredis。confdredisredisserverusrlocaletcredisredis。conf
  可以看到已经连接到master节点了!
  在这里插入图片描述
  7。192。168。239。128启动redis
  dockerrunp6379:6379nameredisslave2vmydataredisdata:usrlocaletcredisdatavmydataredisconfredis。conf:usrlocaletcredisredis。confdredisredisserverusrlocaletcredisredis。conf
  在这里插入图片描述8。进入192。168。239。130容器查看
  我们查看master日志,可以看到两个从节点已经加入进来了!
  在这里插入图片描述
  我们进入容器进行在次查看:dockerexecitredismasterbinbash
  连接redis:rediscli
  登录redisauth123456
  在这里插入图片描述
  查看从节点:info
  也是可以看到有两个从节点!
  在这里插入图片描述五、搭建三哨兵sentinel1。创建挂载目录
  还是三个虚拟机一起创建mkdirsentinelcdsentinelvimsentinel。conf
  输入下面内容:port26379sentinelmonitorredismaster192。168。239。13163792sentinelauthpassredismaster123456sentineldownaftermillisecondsredismaster6000sentinelparallelsyncsredismaster1sentinelfailovertimeoutredismaster6000
  第二行:Redis监控一个名为redismaster的redis集群,我们可以随意写;后面就是ip,我们宿主机的ip即可,端口为主redis的端口;2为哨兵投票的票数,当主redis宕机,三个哨兵必须两个哨兵都投票的redis才会变为主!!
  第三行:配置master的密码
  第四行:Sentinel判断实例进入主观下线所需的时间,毫秒单位。
  第五行:限制在一次故障转移之后,每次向新的主节点同时发起复制操作节点个数,越大效率越慢。
  第六行:在指定的时间内未能完成failover故障转移,则任务故障转移失败。
  在这里插入图片描述2。运行192。168。239。131哨兵dockerrunp26379:26379nameredissentinel1vmydataredissentinelsentinel。conf:usrlocaletcredissentinel。confdredisredissentinelusrlocaletcredissentinel。conf3。运行192。168。239。130哨兵dockerrunp26379:26379nameredissentinel2vmydataredissentinelsentinel。conf:usrlocaletcredissentinel。confdredisredissentinelusrlocaletcredissentinel。conf3。运行192。168。239。128哨兵dockerrunp26379:26379nameredissentinel3vmydataredissentinelsentinel。conf:usrlocaletcredissentinel。confdredisredissentinelusrlocaletcredissentinel。conf4。待解决问题
  这里创建三个哨兵,查看却是有四个,不知道什么问题,换了虚拟机还是不行!有大佬懂的可以分享一下哈!!
  在这里插入图片描述六、测试主从和故障转移1。测试主从复制
  master节点创建一个键值对:setab
  在这里插入图片描述
  从查看key是否存在:geta
  在这里插入图片描述
  主从没有问题哈!2。测试故障转移
  我们把master停掉,查看一个哨兵的日志:dockerstopredismasterdockerlogsfredissentinel1
  我们看到192。168。239。130成为master!
  在这里插入图片描述
  重新启动原来的master:
  dockerrestartredismaster
  在这里插入图片描述
  故障转移成功!!七、整合springboot1。导入依赖
  小编的springboot版本为:2。7。4dependencygroupIdorg。springframework。bootgroupIdspringbootstarterdataredisartifactIddependencydependencygroupIdorg。springframework。bootgroupIdspringbootstarterwebartifactIddependency2。yml配置
  password密码和sentinel同级,不然找不到密码,验证失败server:port:8087spring:redis:密码和sentinel同级,不然找不到密码,验证失败password:123456sentinel:sentinel。conf里的集群名称master:mymaster我们只需要连哨兵即可,哨兵内部会帮我们找到redisnodes:192。168。239。131:26379192。168。239。130:26379192。168。239。128:263793。json序列化配置authorwangzhenjundate2022112410:37ConfigurationpublicclassRedisConfig{BeanSuppressWarnings(value{unchecked,rawtypes})publicRedisTemplateObject,ObjectredisTemplate(RedisConnectionFactoryconnectionFactory){RedisTemplateObject,ObjecttemplatenewRedisTemplate();template。setConnectionFactory(connectionFactory);Jackson2JsonRedisSerializerserializernewJackson2JsonRedisSerializer(Object。class);使用StringRedisSerializer来序列化和反序列化redis的key值template。setKeySerializer(newStringRedisSerializer());template。setValueSerializer(serializer);Hash的key也采用StringRedisSerializer的序列化方式template。setHashKeySerializer(newStringRedisSerializer());template。setHashValueSerializer(serializer);template。afterPropertiesSet();returntemplate;}}4。新建controller测试authorwangzhenjundate2022112410:37RestControllerpublicclassTestController{AutowiredprivateRedisTemplateredisTemplate;GetMapping(redis)publicvoidsaveRedis(){redisTemplate。opsForValue()。set(test,看到我就成功了);}}5。测试
  http:localhost:8087testredis
  在这里插入图片描述
  6。查看redis
  在这里插入图片描述八、总结
  经过一天的搭建,终于完成了,虽然不是完美的,但是大体功能是没有问题的!但是不影响故障转移和主从复制!
  唯一的遗憾:三个哨兵,查看就是四个!从第三个哨兵加入后变为4个!
  如果对你有帮助,还请不要吝啬您的发财小手,你的一键三连是我写作的动力,谢谢大家哈!!
  可以看下小编的微信公众号,和网站文章首发看,欢迎关注,一起交流哈!!

科莫多巨蜥的毒液到底有多可怕?2009年,一名31岁的渔民安瓦尔,在印尼科莫多岛上采摘水果,结果不小心从水果树上掉了下来,刚好踩到了一只巨型蜥蜴,蜥蜴瞬间就朝他扑了过去,咬住了他的腿,之后又咬住了他的手臂,身体武汉未来的房价会涨到100000元平米吗?这个问题的答案是肯定的!以目前的趋势,未来武汉房价必然达到10万的水平,只是时间长短的问题。2010年至2017年,短短七年间,武汉的房价已经翻了3番,目前,武汉部分高端楼盘如洞庭兰州青白石片区,中央公园怎么样?兰州北拓的黄金区域,目前基础交通还跟不上建设需要,交通滞后可能会成为十四五期间兰州青白石片区发展的的最大障碍!不过就兰州地理位置和城区格局而言,青白石片区是离主城区最近的待开发区域农民为什么不在国家统计失业范围之内?中国有四个儿子,大儿子叫工人,二儿子叫子弟兵,三儿子叫公务员,四儿子叫农民,所以四儿子就没有纳入统计失业包括养老金范围,因为四儿子有金山银山还有三分地。农民有土地,这是农民可以赖以农村成立社区是什么意思?很多农村驻有村委会办公室,同时也驻有社区管理委员会办公室,特别是在城市郊区的农村和街道的农村都同时设立了村委会和社区管理委员会,很多人弄不明白是怎么回事。那农村成立社区是什么意思呢农村里的剩男,为何一剩再剩呢?到底是什么原因?男女比例失调。计划生育只要一个孩子时,受封建思想影响,都拚命要男孩,等他们长大了,很难找到媳妇。一,农村姑娘远嫁,二,女孩见少,三,彩礼高,四,剩男挣钱少。我就一大龄剩男!个人亲身抖音付费直播试水,看直播要给钱了?我们应该如何思考?使劲收,最好是家人们看的话,一分钟100块钱。毕竟粉丝听话的很。毕竟人设都设计好了打PK,卖货摆错价格,怒亏2个亿回馈粉丝。没事就怼工厂,怼员工反正就是赔钱回馈粉丝。赔完还得补交税马上就要退休了,退休工资才3650元太少了,怎么办?3600不少了。我企业工龄32年,退休时退休金只有2200,涨了这么多年还不到3000。知足常乐吧!如果身体不好,这些钱也够生活了,如果身体还可以,就找一些力所能及的工作,打打工补南宁五象新区未来的发展潜力很大吗?五象新区无法成为国家级新区!!!目前看来,五象新区的潜力也就这样了。我们对比一下贵阳的贵安新区,贵安新区的面积是1700平方公里,由贵阳市的郊区和安顺市合并得来。是全国第8个国家级如果把三峡大坝加高10米,截留更多的洪水,可行吗?我国的三峡大坝,作为当今世界上最大的水利枢纽工程,位于湖北省宜昌市上游,距下游葛洲坝水电站38公里,三峡大坝全长2309米高185米,呈梯形形状,集发电旅游航运调控洪水于一身。三峡大家有经历过亲人去世吗?是怎样走出痛苦和想念的?2018年9月1日下午3点8分,我的妻子在医院里停止了呼吸。她的眼睛没有闭上,我流着泪,帮她合上了双眼。我永远失去了我最亲近的爱人,孩子永远的失去了妈妈。一位好妻子,好女儿,好姑妈
厦门钨业去年净利同比增超两成,新能源电池材料业务营收过半厦门钨业视觉中国资料图中国最大的钨产品生产商厦门钨业股份有限公司(600549,下称厦门钨业)最新披露的业绩快报显示,公司2022年营业总收入482。05亿元,和上年同期相比增加5让一部分人先看懂2023AIGC盘活AI我们能靠它挣钱吗CNMO2023年,注定不会平凡。至今,席卷全球的新冠疫情已持续三年,在这三年的时间里,它改变了我们太多太多。或许很多人都还未完全适应疫情下封控的生活,便要在2023迎来新一轮的改S30白起边路带斩杀还是惩戒?边路白起出装铭文打法重磅来袭!hello,大家好,我是小棉袄。关注点赞,下次更新不迷路!!S30赛季白起增强后热度大幅飙升,高坦度高回血并且开团能力出色,新赛季的表现可以说是版本恶霸级别的存在。但是很多小伙伴还4种食物在春节期间该多吃,可以有效地避免喝醉酒春节到了,这个时候大家会小聚在一起,喝上小酒,很多时候就会过度的兴奋,喝多了为了避免喝酒喝得多导致自己出现呕吐的情况,那么喝酒前吃一小顿养胃的食物是非常好的,下面就给大家推荐一下。这可能是关于生酮饮食最全的介绍了大家好,我给大家介绍一种饮食方法,生酮饮食。生酮饮食已经出来好几年了,但是还是有部分人没听说过生酮饮食,或者听到的和了解到的是完全错误的信息。今天我们先介绍生酮饮食的基本概念。生酮第二波感染高峰将至!提醒中老年多吃3种高叶酸菜,身体好第一波感染高峰已经过去了,很多人已经阳康了。但是阳康后,很多人发现并不是就彻底好了,身体还是乏力,咳嗽一直没好,不敢太用力。这是因为免疫力消耗太多,还没完全恢复的原因。这个时候,身猪血鸡血鸭血,究竟哪个更有营养?医生的答案,只有这一个当然是鸡血啊!毕竟鸭血猪血以及其他动物血,都是用来吃,但鸡血可不同,最起码人家还可以用来打。吃饭睡觉打鸡血,难道不正是大多数人的日常生活吗?不过鸡血总是被打,也都不知道会不会疼好了低脂肪健康原则1,避免过重吃多少就该消耗多少,过重的人应该少吃多动。2,多吃碳水化合物,吃饮食里本来就有的糖,建议将摄取量从28增加到48。3,少吃额外添加的糖,建议将精致糖和加工糖消耗量减少4媒体自从詹姆斯屏蔽我之后,他场均35。1分,7场30虎扑01月23日讯今天NBA常规赛湖人客场对阵开拓者的比赛已经结束。全场战罢,湖人以121112战胜开拓者。本场比赛,湖人球员勒布朗詹姆斯出战35分钟,24投14中,其中三分球7投4年1。96亿,再见76人!遭名宿炮轰,不改打法难夺冠,哈登又难了29胜16负,凭借着一波四连胜,如今76人的排名在东部升至了第二的位置,并且他们的战绩和雄鹿完全相同,因为双方之间的胜负差关系,76人暂时只能排在第三的位置。不过,看起来,只要76小里弗斯詹姆斯是史上没参加过扣篮大赛球员中的最佳扣将之一直播吧1月21日讯近日森林狼球员小里弗斯在自己的播客节目中谈到了詹姆斯从未参加过扣篮大赛一事。小里弗斯说道我爱詹姆斯,我是他的超级粉丝。大家都知道这一点。我对詹姆斯持有崇高敬意。詹
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网