πŸ’ž Redis pubsub multiplexer
ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ
microsoft-github-policy-service[bot] db35deab32
Microsoft mandatory file
2023-06-12 18:26:42 +00:00
.github/workflows add triggers to github action 2021-04-21 11:24:53 -07:00
cmd update, gomod and github actions 2021-04-21 10:59:28 -07:00
.dockerignore feat(docker): Add Dockerfile 2019-12-04 09:23:52 -08:00
.gitignore Add tests to all the things, fix some minor bugs/races 2017-10-20 13:11:22 -07:00
LICENSE chore: add license file 2018-01-02 15:34:47 -08:00
Makefile Add tests to all the things, fix some minor bugs/races 2017-10-20 13:11:22 -07:00
SECURITY.md Microsoft mandatory file 2023-06-12 18:26:42 +00:00
dialer.go feat(auth+tls): Add auth and TLS support (#5) 2019-05-03 11:10:10 -07:00
go.mod update, gomod and github actions 2021-04-21 10:59:28 -07:00
go.sum update, gomod and github actions 2021-04-21 10:59:28 -07:00
prom.go feat: add prometheus metrics, pprof handlers 2017-10-23 08:51:12 -07:00
protocol.go Add tests to all the things, fix some minor bugs/races 2017-10-20 13:11:22 -07:00
protocol_test.go Add tests to all the things, fix some minor bugs/races 2017-10-20 13:11:22 -07:00
pubsub.go feat: support soft sentinel failovers 2018-01-02 15:33:37 -08:00
pubsub_test.go feat(auth+tls): Add auth and TLS support (#5) 2019-05-03 11:10:10 -07:00
readme.md update, gomod and github actions 2021-04-21 10:59:28 -07:00
server.go feat: support soft sentinel failovers 2018-01-02 15:33:37 -08:00
server_test.go feat(auth+tls): Add auth and TLS support (#5) 2019-05-03 11:10:10 -07:00

readme.md

redplex

Project status: redplex is actively maintained and was running in production at Mixer from 2017 to 2021.

redplex is a tool to multiplex Redis pubsub. It implements the Redis protocol and is a drop-in replacement for existing Redis pubsub servers, simply boot redplex and change your port number. This is a useful tool in situations where you have very many readers for pubsub events, as Redis pubsub throughput is inversely proportional to the number of subscribers for the event.

Note: some Redis clients have health checks that call commands like INFO on boot. You'll want to turn these off, as redplex does not implement commands expect for SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE, PUNSUBSCRIBE, and EXIT.

Usage

➜  redplex git:(master) ./redplex --help
usage: redplex [<flags>]

Flags:
      --help                     Show context-sensitive help (also try --help-long and --help-man).
  -l, --listen="127.0.0.1:3000"  Address to listen on
  -n, --network="tcp"            Network to listen on
      --remote="127.0.0.1:6379"  Remote address of the Redis server
      --remote-network="tcp"     Remote network to dial through (usually tcp or tcp6)
      --sentinels=SENTINELS ...  A list of Redis sentinel addresses
      --sentinel-name=SENTINEL-NAME
                                 The name of the sentinel master
      --log-level="info"         Log level (one of debug, info, warn, error
      --dial-timeout=10s         Timeout connecting to Redis
      --write-timeout=2s         Timeout during write operations
      --pprof-server=PPROF-SERVER
                                 Address to bind a pprof server on. Not bound if empty.