consul实现redis-sentinelHA高可用-02

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了consul实现redis-sentinelHA高可用-02相关的知识,希望对你有一定的参考价值。

redis-sentinel哨兵模式部署

https://blog.51cto.com/9025736/2498152

consul集群部署参考文章

https://blog.51cto.com/9025736/2500976

规划

技术图片

配置redis-sentinel自动切换主节点配置(仅需要consul_client节点配置)

[root@server3 consul.d]# cat redis-6379.json 
 {
   "services": [
     {
       "id": "redisnode1",
       "name": "redis",
       "tags": [
         "master"
       ],
       "address": "192.168.31.178",
       "port": 6379,
       "checks": [
         {
           "args": ["/usr/bin/bash","/data/a.sh"],
           "interval": "5s"
         }
       ]
     },
     {
       "id": "redisnode2",
       "name": "redis",
       "tags": [
         "master"
       ],
       "address": "192.168.31.179",
       "port": 6379,
       "checks": [
         {
           "args": ["/usr/bin/bash","/data/b.sh"],
           "interval": "5s"
         }
       ]
     },
     {
       "id": "redisnode3",
       "name": "redis",
       "tags": [
         "master"
       ],
       "address": "192.168.31.180",
       "port": 6379,
       "checks": [
         {
           "args": ["/usr/bin/bash","/data/c.sh"],
           "interval": "5s"
         }
       ]
     }
   ]
 }
    consul reload
注意:在consul json配置文件中,每个consul agent的service里面 id都不能重复,name是强制要求的,必须要有,如果id省略,则跟name来匹配,其他的都是可选的,可有可无。但为了能够使用某条服务信息,就必须要有IP和port,当然port可以在应用中指定。check最好要有,否则当出现问题时不能从consul中注销。

可以访问http://192.168.31.178/v1/catalog/service/redis来查看服务

dig检查

技术图片
技术图片
技术图片
技术图片

redis测试consul是否可以切换

停止192.168.31.178 redis-server

技术图片
技术图片
停止192.168.31.180 redis-server 开启 192.168.31.178 redis-server
技术图片
技术图片
技术图片
技术图片

以上是关于consul实现redis-sentinelHA高可用-02的主要内容,如果未能解决你的问题,请参考以下文章

使用 Consul 实现高可用性的 Spring Cloud

基于Consul的数据库高可用架构

基于Consul的数据库高可用架构

利用redis-sentinel+consul实现redis高可用

consul-template + nginx部署高可用负载均衡

Consul高可用集群