电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SpringBoot結合Redis哨兵模式的實現示例

瀏覽:92日期:2023-05-22 08:57:49

Redis哨兵模式

Redis Sentinel介紹

Redis Sentinel是Redis高可用的實現方案。Sentinel是一個管理多個Redis實例的工具,它可以實現對Redis的監控、通知、自動故障轉移。

Redis Sentinel主要功能

Redis 的 Sentinel 系統用于管理多個 Redis 服務器(instance), 該系統執行以下三個任務:

監控(Monitoring):Sentinel 會不斷地檢查你的主服務器和從服務器是否運作正常。 提醒(Notification):當被監控的某個 Redis 服務器出現問題時, Sentinel 可以通過 API 向管理員或者其他應用程序發送通知。 自動故障遷移(Automatic failover):當一個主服務器不能正常工作時, Sentinel 會開始一次自動故障遷移操作, 它會將失效主服務器的其中一個從服務器升級為新的主服務器, 并讓失效主服務器的其他從服務器改為復制新的主服務器; 當客戶端試圖連接失效的主服務器時, 集群也會向客戶端返回新主服務器的地址, 使得集群可以使用新主服務器代替失效服務器。

Redis Sentinel部署

SpringBoot結合Redis哨兵模式的實現示例 SpringBoot結合Redis哨兵模式的實現示例

Redis集群配置

Redis集群啟動

復制3個reids.conf配置文件

cp redis.conf /home/redis/redis6379.confcp redis.conf /home/redis/redis6380.confcp redis.conf /home/redis/redis6381.conf

修改reids.conf配置文件,以6379配置為例

vim redis6379.conf#啟用后臺啟動daemonize yes#pidfile位置pidfile '/home/redis/6379/redis6379.pid'#端口port 6379#日志文件位置logfile '/home/redis/6379/log6379.log'#rdb備份文件名稱dbfilename 'dump6379.rdb'#rdb備份文件路徑dir '/home/redis/rdb/'

修改redis-slave配置文件,修改和master如上配置,6380、6381配置文件,新增如下

slaveof 192.168.126.200 6379

先啟動master服務,在啟動slave服務

master節點服務./redis-cli -p 6379127.0.0.1:6379> info replication# Replicationrole:masterconnected_slaves:2slave0:ip=192.168.126.200,port=6380,state=online,offset=975350,lag=1slave1:ip=192.168.126.200,port=6381,state=online,offset=975350,lag=1master_repl_offset:975495repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:2repl_backlog_histlen:975494slave節點服務./redis-cli -p 6380# Replicationrole:slavemaster_host:192.168.126.200master_port:6379master_link_status:upmaster_last_io_seconds_ago:0master_sync_in_progress:0slave_repl_offset:989499slave_priority:100slave_read_only:1connected_slaves:0master_repl_offset:0repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0

sentinel集群配置

編寫sentinel配置文件,master配置

touch sentinel1.confvim sentinel1.conf#Sentinel節點的端口port 26379dir '/home/redis/sentinel'daemonize yeslogfile 'sentinel-26379.log'#當前Sentinel節點監控 127.0.0.1:6379 這個主節點#代表判斷主節點失敗至少需要2個Sentinel節點節點同意#mymaster是主節點的別名sentinel monitor mymaster 192.168.126.200 6380 2#每個Sentinel節點都要定期PING命令來判斷Redis數據節點和其余Sentinel節點是否可達,如果超過30000毫秒且沒有回復,則判定不可達sentinel down-after-milliseconds mymaster 30000#當Sentinel節點集合對主節點故障判定達成一致時,Sentinel領導者節點會做故障轉移操作,選出新的主節點,原來的從節點會向新的主節點發起復制操作,限制每次向>新的主節點發起復制操作的從節點個數為1sentinel leader-epoch mymaster 1#故障轉移超時時間為180000毫秒sentinel failover-timeout mymaster 180000#同理創建修改sentinel2.conf、sentinel3.conf配置文件

啟動3臺sentinel服務

./redis-sentinel /home/redis/sentinel1.conf./redis-sentinel /home/redis/sentinel2.conf./redis-sentinel /home/redis/sentinel3.conf

SpringBoot結合Redis哨兵模式

創建SpringBoot項目,添加依賴

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId></dependency><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></dependency><!--redis連接池--><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId></dependency>

核心配置文件application.yml

server: port: 80spring: redis: lettuce: pool: # 連接池最大連接數(使用負值表示沒有限制) 默認為8 max-active: 8 # 連接池中的最大空閑連接 默認為8 max-idle: 8 # 連接池最大阻塞等待時間(使用負值表示沒有限制) 默認為-1 max-wait: -1ms # 連接池中的最小空閑連接 默認為 0 min-idle: 0 sentinel: # 主節點的別名 master: mymaster # sentinel服務的ip和端口 nodes: 192.168.126.200:26379,192.168.126.200:26380,192.168.126.200:26381

程序調用

@RestController@RequestMapping('/redis')public class RedisController { // 使用SpringBoot封裝的RestTemplate對象 @Autowired RedisTemplate<String, String> redisTemplate; @RequestMapping('/get') public String get(String key) { String value = redisTemplate.opsForValue().get(key); return value; } @RequestMapping('/set') public String set(String key, String value) { redisTemplate.opsForValue().set(key, value); return 'success'; }}

模擬故障

手動shutdown redis的master服務后,后臺會嘗試重連,當超過最大等待時間,無法連接后,sentinel會重新選舉出一個新的master,程序獲取到新的master節點,提供讀寫服務

SpringBoot結合Redis哨兵模式的實現示例

到此這篇關于SpringBoot結合Redis哨兵模式的實現示例的文章就介紹到這了,更多相關SpringBoot結合Redis哨兵模式內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 环氧铁红防锈漆_环氧漆_无溶剂环氧涂料_环氧防腐漆-华川涂料 | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | 温州中研白癜风专科_温州治疗白癜风_温州治疗白癜风医院哪家好_温州哪里治疗白癜风 | 德国GMN轴承,GMN角接触球轴承,GMN单向轴承,GMN油封,GMN非接触式密封 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 通用磨耗试验机-QUV耐候试验机|久宏实业百科 | 东莞螺丝|东莞螺丝厂|东莞不锈钢螺丝|东莞组合螺丝|东莞精密螺丝厂家-东莞利浩五金专业紧固件厂家 | 齿式联轴器-弹性联轴器-联轴器厂家-江苏诺兴传动联轴器制造有限公司 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 全自动固相萃取仪_高通量真空平行浓缩仪-勤业永为 | 硬度计,金相磨抛机_厂家-莱州华煜众信试验仪器有限公司 | 成都思迪机电技术研究所-四川成都思迪编码器 | Pos机办理_个人商户免费POS机申请-拉卡拉办理网 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 仓储笼_仓储货架_南京货架_仓储货架厂家_南京货架价格低-南京一品仓储设备制造公司 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 罗氏牛血清白蛋白,罗氏己糖激酶-上海嵘崴达实业有限公司 | 北京康百特科技有限公司-分子蒸馏-短程分子蒸馏设备-实验室分子蒸馏设备 | 苏州伊诺尔拆除公司_专业酒店厂房拆除_商场学校拆除_办公楼房屋拆除_家工装拆除拆旧 | 北京燃气公司 用户服务中心| 皮带机_移动皮带机_大倾角皮带机_皮带机厂家 - 新乡市国盛机械设备有限公司 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 低气压试验箱_高低温低气压试验箱_低气压实验箱 |林频试验设备品牌 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 校车_校车价格_19座幼儿园校车_幼儿园校车_大鼻子校车 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 楼承板-开口楼承板-闭口楼承板-无锡海逵 | 临朐空调移机_空调维修「空调回收」临朐二手空调| 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 |