当前位置: 首页 > 知识库问答 >
问题:

Golang Redis哨兵客户端

方兴旺
2023-03-14

我正在为一个用Go编写的开源项目添加Redis支持。目标是支持所有Redis拓扑结构:服务器、集群、哨兵。

我浏览了redis.io/clients中列出的Go客户端,看起来Github.com/go-redis/Redis项目是一个可行的选项。

我错过什么了吗?

关于同一主题,有人能推荐另一个Go Redis客户端可能适合这个场景吗?

共有1个答案

东郭展
2023-03-14

如果您有多个哨兵,请使用NewFailoverClient。

golang prettyprint-override">rdb := redis.NewFailoverClient(&redis.FailoverOptions{
    MasterName: "mymaster",
    SentinelAddrs: []string{
        "sentinel_1:26379",
        "sentinel_2:26379",
        "sentinel_3:26379",
    },
})
 类似资料:
  • 主要内容:一、哨兵,二、源码分析,三、总结一、哨兵 Sentinel(哨兵),听名字大家都应该想得到这个家伙是做什么的。在redis的应用中,有单机模式、主从模式、哨兵模式和集群模式,其实你从它的发展就可以看出来,redis是从一个简单的应用开始,不断的壮大,从单点到分布式,从简单的主从备份以及初始的哨兵监控,再到可以看成把二者合成的集群模式,除了是应用场景的变化,更多的是为了提高安全性和高可用性。网上有很多人问哨兵和集群有啥不一样,其实

  • Redis 哨兵(Sentinel)是 Redis 的高可用性(Hight Availability)解决方案:由一个或多个 Sentinel 实例组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。 Sentinel

  • 每一个哨兵都可以连接到我的主人,并可以看到奴隶。它们能够独立地检测主从是否倒下。问题是哨兵们无法探测到对方。 我已经验证了每个哨兵都像预期的那样向通道发布消息,但似乎没有一个哨兵真正从其他哨兵通道接收消息。 我怎么让哨兵们见面?

  • 主要内容:哨兵模式原理,哨兵模式应用,sentinel.conf配置项在 Redis 主从复制模式中,因为系统不具备自动恢复的功能,所以当主服务器(master)宕机后,需要手动把一台从服务器(slave)切换为主服务器。在这个过程中,不仅需要人为干预,而且还会造成一段时间内服务器处于不可用状态,同时数据安全性也得不到保障,因此主从模式的可用性较低,不适用于线上生产环境。 Redis 官方推荐一种高可用方案,也就是 Redis Sentinel 哨兵模式,它弥补了主

  • 我一直在读有关Redis sentinel用于故障转移的文章。我计划有1主+1从,如果主倒下超过1分钟,把从变成主。我知道这在哨兵身上是百分之百可能的。 null 与1个哨兵相比,多个哨兵有什么好处?我的应用程序一次只能连接到1个哨兵,即使有2个哨兵,如果其中一个在应用程序层中出现复杂的逻辑,我的应用程序也不能在其中任何一个之间旋转或切换。

  • 我正在与一个远程合作伙伴开发一个Laravel项目。 我没有安装mcrypt,所以每次需要使用composer时,我都会通过别名引用php: 这是一个很好的修复,直到我的远程朋友安装了哨兵软件包,这是我无法做到的。 使用另一个stackoverflow线程,我能够使用mcrpyt引用正确版本的php,更新composer并安装sentry。 我的问题是: Sentry在我搭档的本地主机上工作,我将