Inbuilt incompatibility with port mapping (such as in Docker)
- Lenguaje dominante
- C
- Estrellas
- 8.1k
- Forks
- 532
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
The decision to make the cluster bus a static "base port +10000" makes it impossible to use in a default Docker setup. It is better that this is configurable, and even better would discoverable.
For discoverability it would be reasonable enough to add the cluster bus port to the hello message and have the initial handshake after `cluster meet` be to connect, issue hello, then use the port returned to connect for cluster administration. This isn't very dissimilar to the sentinel+client method of Redis. It isn't leaking anything a potential invader can't already figure out so there is no leakage. Ideally this would be how to introduce a member to a cluster.
However, that alone does not solve the underlying problem. We need the equivalent of `sentinel announce-port`, and it needs to be a run-time configurable. With those additions deploying a Disque cluster would be pretty simple to do on a Docker or Docker swarm. As it stands, Disque has the same problems you run into trying to run Redis master/slave with Sentinel, but the additional one of making the assumption/insistence that the cluster communicates on base+10000. Since you solved in for Sentinel, I _know_ you can solve it here fairly easily. ;)
Summary:
- Yay if made discoverable!
- Make cluster bus port configurable rather than calculated
Cheers,
Bill
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.