一、前言

组内现在用的是redis 的sentinel。

本着实践的原则,对sentinel的几台服务器进行了网络或者抓包方面的实践。

一共三台redis服务器,

10.10.20.6, 10.10.20.9, 10.10.20.11

其中,10.10.20.11为主。

我代码里是这么配置的:

#集群名称

redis.sentinel.master=redisMaster

redis.sentinel.nodes=10.10.20.6:26379,10.10.20.9:26379,10.10.20.11:26379

二、实践

1、进程查看

每台服务器上都开启了两个进程,各监听一个端口,一个26379,一个6379.

以上只看了一台,实则,三台都是类似的。

2、长连接查看

另外,三台服务器的sentinel进程之间,应该都是有建立长连接的。我们看看是不是这么回事?

2.1  10.10.20.11上看到的长连接:

下面是从服务器上抓的11和6之间的长连接:

下面是从服务器上抓的11和9之间的长连接:

2.2 10.10.20.9上看到的长连接:

可以看出来,sentinel进程和另外两台服务器上的sentinel进程,都建立了长连接。(另外一台就不一一截图了)

那么,长连接上交换什么数据呢?

三、sentinel之间的数据

我这里,在11上抓了个包:(保存到了11cap这个文件)

tcpdump -i eth1  -w 11cap  port 26379

在windows上用wireshark打开后,

这个图里,可以看到,有大量的ping/pong心跳消息。

另外,也可以看到,有下面这样的:

上面提到了53635端口,是sentinel进程打开的,而不是6379端口的进程打开的:

(lsof -p 2557 查看进程打开的文件)

这个我理解,应该就是各个sentinel之间,向别的sentinel表示自己观察到master是谁,方便后续进行投票吧。

这部分我还没有特别懂。

四、参考资料

https://blog.csdn.net/qq_33394088/article/details/80587588

redis-sentinel的理解实践的更多相关文章

  1. Redis+sentinel 高可用实践

    1.环境规划 10.213.50.138(主) redis+sentinel 10.213.50.168(从) redis+sentinel 10.213.50.227  作为客户端测试插入数 2.r ...

  2. Redis Sentinel 高可用部署实践集群

    一.Redis Sentinel 介绍    1.Sentinel     数据库环境搭建,从单机版到主备.再到多数据库集群,我们需要一个高可用的监控:比如Mysql中,我们可能会采用MHA来搭建我们 ...

  3. 新书介绍 -- 《Redis核心原理与实践》

    大家好,今天给大家介绍一下我的新书 -- <Redis核心原理与实践>. 后端开发的同学应该对Redis都不陌生,Redis由于性能极高.功能强大,已成为业界非常流行的内存数据库. < ...

  4. Redis核心原理与实践--Redis启动过程源码分析

    Redis服务器负责接收处理用户请求,为用户提供服务. Redis服务器的启动命令格式如下: redis-server [ configfile ] [ options ] configfile参数指 ...

  5. Redis Sentinel集群配置中的一些细节

    今天在配置Redis集群,用作Tomcat集群的缓存共享.关于Redis集群的配置网上有很多文章,这里只是记录一下我在配置过程中遇到的一些小的细节问题. 1. 关于Protected Mode的问题 ...

  6. Redis Sentinel机制与用法说明【转】

    本文来自:https://segmentfault.com/a/1190000002680804 概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Ma ...

  7. Redis Sentinel:集群Failover解决方案(转载)

    本文转载自:http://shift-alt-ctrl.iteye.com/blog/1884370 文中的配置例子,还有failover过程中触发的订阅事件具有很好的参考价值. Redis sent ...

  8. Redis Sentinel机制与用法(一)

    Sentinel spring 集群配置: 概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕 ...

  9. redis高可用之REDIS SENTINEL

    1. Redis主从配置 1.1. 设置主从复制 Master <= Salve 10.24.6.5:6379 <= 10.24.6.7:6379 1.2.   取消主从复制 1.3.   ...

随机推荐

  1. 矩阵乘法code

    VOJ1067 我们可以用上面的方法二分求出任何一个线性递推式的第n项,其对应矩阵的构造方法为:在右上角的(n-1)*(n-1)的小矩阵中的主对角线上填1,矩阵第n行填对应的系数,其它地方都填0.例如 ...

  2. GitHub超全机器学习工程师成长路线图,开源两日收获3700+Star!【转】

    作者 | 琥珀 出品 | AI科技大本营(ID:rgznai100) 近日,一个在 GitHub 上开源即收获了 3700+ Star 的项目,引起了营长的注意.据介绍,该项目以 TensorFlow ...

  3. 斯坦福CS231n学习--初识

    课程主页:CS231n: Convolutional Neural Networks for Visual Recognition 关注其:Course Project主页 视频学习:云课堂 斯坦福C ...

  4. AndroidStudio下加入百度地图的使用(四)——路线规划

    上一章中我们已经完成了API常用的方法及常量属性的使用,这一章向大家介绍一下地图的重要功能-路线规划. (1) 定义API中的路线查询类: RoutePlanSearch mSearch = Rout ...

  5. Android进程命令查看

    •       进程 是指一个具有独立功能的程序在某个数据集上的一次动态运行过程,它是系统进行资源分配和调度的最小单元. •       一个进程能够拥有多个线程.每一个线程必须有一个父进程. •   ...

  6. MySql之触发器的使用

    一:触发器的使用场景 当数据库的记录发生变化时,自动触发某些操作. MySQL的触发器响应三种操作,六种场合: 三种操作:DELETE.INSERT.UPDATE. 六种场合:三种操作的BEFORE. ...

  7. eclipse core expression usage

    http://codeandme.blogspot.com/2012/04/expression-examples.html We need to set checkEnabled on the vi ...

  8. CentOS yum安装redis(转)

    1.安装redis yum install redis 2.安装php-redis扩展 yum install php-redis 3.启动redis,并设定开机自动启动 service redis ...

  9. android中webView加载H5,JS不能调用问题的解决

    使用了html5 页面,使用webView加载后发现 超链接的锚点不可以用 为webView设置下面两句就好了: mWebView.getSettings().setDomStorageEnabled ...

  10. ES 插入十万条数据耗时1573秒