哨兵模式,是redis高可用的一个解决方案

Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。把slave升级为master,等到之前的master恢复了自动变为slave了

一般的工作模式是这样的:

一对一的链接 一个master

$client = new Predis\Client();
$client->set('foo', 'bar');
$value = $client->get('foo');

使用sentinel后

 // 3 个sentinel 组成一个前台  
 // 该前台监控着redis-slave,一个master主节点和多个slave从节点
 // 客户端访问这个前台,对应的前台会返回master的操作资源
 //mymaster 是自定义的,后面有说明如何定义这个名字
 //对应3个不同服务器地址sentinel 

 $sentinels = ['tcp://10.0.0.1', 'tcp://10.0.0.2', 'tcp://10.0.0.3'];
 $options   = ['replication' => 'sentinel', 'service' => 'mymaster'];
 $client = new Predis\Client($sentinels, $options);
 $client->set('foo', 'bar');
 $value = $client->get('foo');

这是配置好之后如何启动使用的
关于sentinel的理解和配置在后面的两章

By cc

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注