Tag: swis redis cluster

如何在docker集群上运行redis集群?

上下文 我正在尝试设置一个redis集群,以便在Docker集群上运行,实现最大程度的自动修复。 更确切地说,我有一个docker撰写文件,它定义了一个有3个副本的服务。 每个服务副本都有一个运行的redis服务器。 然后,我在每个副本中都有一个程序,用于侦听Docker集群上的更改,并在满足条件(每个3个Redis服务器相互认识)时启动集群。 设置redis集群工作已经预料到,集群已经形成,所有redis服务器通信良好,但是redis-server之间的通信是在Docker集群内部。 问题 当我尝试从Docker集群外部进行通信时,由于入口模式,我可以与Redis服务器通信,但是当我尝试添加信息(例如:set foo bar)并将客户端移动到另一个redis服务器时,服务器通信挂起并最终超时。 码 这是docker-compose文件。 version: "3.3" services: redis-cluster: image: redis-srv-instance volumes: – /var/run/:/var/run deploy: mode: replicated #endpoint_mode: dnsrr replicas: 3 resources: limits: cpus: '0.5' memory: 512M ports: – target: 6379 published: 30000 protocol: tcp mode: ingress 显示问题的命令的stream量。 客户 ~ ./redis-cli -c -p 30000 127.0.0.1:30000> Redis的服务器 OK 1506533095.032738 […]