你的位置:首页 > 数据库

[数据库]Redis集群~StackExchange.redis连接Sentinel服务器并订阅相关事件(原创)


回到目录

对于redis-sentinel我在之前的文章中已经说过,它是一个仲裁者,当主master挂了后,它将在所有slave服务器中进行选举,选举的原则当然可以看它的官方文章,这与我们使用者没有什么关系,而对于sentinel来说,它在进行主从切换时,会触发相关事件,这是和我们开发人员有关系的,如当+switch-master事件被触发时,说明当前Sentinal已经完成了一次主从的切换,并所有服务已经正常运转了。

下面是我这几天作的测试,对于Twemproxy代理和Sentinal哨兵都已经成功使用stackExchange.redis进行了连接,并正常访问了,当然Sentinel只公开了几个redis命令,这个大家要清梦,不明白的可以看我的这篇文章《Redis集群~windows下搭建Sentinel环境及它对主从模式的实际意义》。

连接普通的redis服务器

 ConnectionMultiplexer conn = ConnectionMultiplexer.Connect("127.0.0.1:6379");

 ConfigurationOptions option = new ConfigurationOptions(); option.EndPoints.Add("127.0.0.1", 6379); ConnectionMultiplexer conn = ConnectionMultiplexer.Connect(option);

连接TW代理服务器

  ConfigurationOptions twOption = new ConfigurationOptions();  twOption.EndPoints.Add("127.0.0.1", 22122);  twOption.EndPoints.Add("127.0.0.1", 22123);  twOption.Proxy = Proxy.Twemproxy;//代理的类型  ConnectionMultiplexer conn = ConnectionMultiplexer.Connect(twOption);

连接Sentinal仲裁哨兵服务器

      //连接sentinel服务器      ConfigurationOptions sentinelConfig = new ConfigurationOptions();      sentinelConfig.ServiceName = "master1";      sentinelConfig.EndPoints.Add("192.168.2.3", 26379);      sentinelConfig.EndPoints.Add("192.168.2.3", 26380);      sentinelConfig.TieBreaker = "";//这行在sentinel模式必须加上      sentinelConfig.CommandMap = CommandMap.Sentinel;      // Need Version 3.0 for the INFO command?      sentinelConfig.DefaultVersion = new Version(3, 0);      ConnectionMultiplexer conn = ConnectionMultiplexer.Connect(sentinelConfig);

有了上面的代码后,我们可以成功的连接一个sentinel服务器,对这个连接的实际意义在于:当一个主从进行切换后,如果它外层有Twemproxy代理,我们可以在这个时机(+switch-master事件)通知你的Twemproxy代理服务器,并更新它的配置文件里的master服务器的地址,然后从起你的Twemproxy服务,这样你的主从切换才算真正完成。

对于Twemproxy-sentinal-master/slave主从切换实现图

我们可以使用.netcore开发一个跨平台的程序,将它放在linux的tw代理服务器上,使用dotnet run去运行它,然后当收到由sentinel发来的+switch-master事件时,将更新tw配置文件并从起它的服务。

俄罗斯旅游团报价俄罗斯旅游费用俄罗斯旅游签证深圳到俄罗斯旅游俄罗斯游报价森波拉在什么地方?森波拉温泉度假村位置? 去牡丹江攀威虎山赏五花山(组图) 秋游牡丹江 两条受驴友欢迎的路线推荐(图) 泰安不止有泰山 盘点泰安好玩的景区 暑期出境游提防信用卡被盗刷 如何防止信用卡被盗刷 夏季徒步装备推荐 夏季徒步旅行装备 夏天徒步旅行必备品 意大利摄影师镜头下的仙境英国 大美不列颠 北京园博园在哪里?怎么去? 藏族拉伊—风俗歌 苏梅岛住宿——苏梅岛通塞湾酒店 藏族拉伊 海南琼海旅游贴士 高原神奇沐浴周 白洋淀荷花什么时候开_白洋淀最佳旅游时间 西藏拉萨旅游消费情况介绍 景山公园门票_北京景山公园门票_景山公园门票价格 HT15-22SRVGC/TR8 Datasheet HT15-22SRVGC/TR8 Datasheet HT15-22SURUGC/S530-A2/TR8 Datasheet HT15-22SURUGC/S530-A2/TR8 Datasheet HT15-22SURVGC/S530-A2/TR8 Datasheet HT15-22SURVGC/S530-A2/TR8 Datasheet 春节国内旅游好去处 春节国内旅游好去处 春节国内旅游好去处 春节旅游策划 春节旅游策划 春节旅游策划 春节期间旅游去哪好 春节期间旅游去哪好 春节期间旅游去哪好