RedisDesktopManager
RedisDesktopManager copied to clipboard
Full Redis Sentinel support
How to connect to remote Redis Sentinel?
Hello @Bonkebo, Redis Sentinel is not supported yet in RDM.
@uglide ,thanks for your reply.
@Bonkebo Could you please describe which kind of support you want to see in RDM?
@uglide I hope it can list Master and Slave,also can point out which one is does not work. how do you think?
@Bonkebo Ok, so in connections tree we will have following:
▤ redis-sentinel-foo
| - ▤ redis-server-1 (master) [up]
| - ▤ redis-server-10 (slave) [up]
| - ▤ redis-server-11 (slave) [up]
| - ▤ redis-server-12 (slave) [up]
| - ▤ redis-server-13 (slave) [down]
| - ▤ redis-sentinel-101
| - ▤ redis-sentinel-102
| - ▤ redis-sentinel-103
| - ▤ redis-server-1 (master) [down]
Items like ▤ redis-server-10 (slave) [up]
will have context menu with items:
- Change master settings (GUI for
SENTINEL SET
command) - Remove this master (GUI for
SENTINEL REMOVE
command)
When we click on such items we connect to this redis-server as usual (db list should be loaded).
Items like ▤ redis-sentinel-101
will have context menu with items:
- Change master (GUI for
SENTINEL MONITOR
command)
When we click on such items Events log of this sentinel should be loaded (read-only live log with all events received via PSUBSCRIBE *
command).
Does it make sense for you? What should be added to this implementation?
@Bonkebo Which network topology do you use? Is it enought to do following in RDM?
RDM <------ SSH Tunnel -----> redis-sentinel-foo
RDM <------ SSH Tunnel -----> redis-sentinel-foo host <------TCP Socket ------> redis-server-1
RDM <------ SSH Tunnel -----> redis-sentinel-foo host <------TCP Socket ------> redis-server-10
...
yeah,it makes sense for me.I do not very known about the network topology,but think it is enought for me.
Hi. I can be interested in this feature too. Can you give me some details to beta-test it when it is ready?
Many thanks.
For me the most important feature is that we can connect to a Sentinel, and we're using a Redis-Instance that is writable. Current situation:
- Add all Redis-servers to RDM
- Connect to first server
- Try to add key, but get an error because the node is read-only
- Connect to next server
- Try to add key, this time it succeeds, because (by luck) we connected to the server that is currently the master.
Desired situation:
- Add sentinel(s) to RDM (so instead of a Redis-Server entry, this would become a Sentinel-entry)
- Connect to "sentinel", ask for R/W server
- Try to add key
I've read the above, and while I agree that everything proposed above is a great addition to RDM, I also believe that maybe the core functionality (auto-select a R/W server using sentinel) would be the first step, and the other steps (GUI tree representation of sentinel and masters/slaves as well as GUI commands that trigger sentinel commands) would follow in later releases. But that's just my 2 cents :).
But regardless of what you think of my proposal, I added a (small) bounty anyway! Thanks for your great work on the project!
+1