https://github.com/astei/serpentinised
Making non-Sentinel-aware Redis clients aware of Sentinel
https://github.com/astei/serpentinised
redis redis-proxy redis-sentinel
Last synced: 3 months ago
JSON representation
Making non-Sentinel-aware Redis clients aware of Sentinel
- Host: GitHub
- URL: https://github.com/astei/serpentinised
- Owner: astei
- License: mit
- Created: 2020-04-05T05:26:58.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-24T17:57:56.000Z (about 5 years ago)
- Last Synced: 2024-05-02T03:48:55.416Z (about 1 year ago)
- Topics: redis, redis-proxy, redis-sentinel
- Language: Go
- Homepage:
- Size: 13.7 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# serpentinised
`serpentinised` acts as a proxy that allows clients that are unaware of
Redis Sentinel to connect to a Redis Sentinel cluster.## Motivation
At Mineteria, we have a few applications using Django that are not aware
of Redis Sentinel. Of course, there are also plenty of applications that
are unaware of Redis Sentinel. `serpentinised` can help them cope with
the introduction or use of Redis Sentinel.We previously used [redis-ellison](https://github.com/metal3d/redis-ellison).
While this solution worked, it had numerous CPU consumption issues, including
spawning a `redis-cli` instance every second. `serpentinised` connects to the
Redis Sentinel server directly and listens for any failover changes.## Docker
You can use `serpentinised` as a Docker container:
```
docker run -p 6379:6379 -it astei/serpentinised:latest /serpentinised -sentinel-address=sentinel-service.local:5000 -sentinel-master=mymaster
```## Usage
```
Usage of serpentinised:
-bind string
the address to bind to proxy connections to the active Sentinel (default "127.0.0.1:26380")
-connect-timeout int
seconds before a connection to a master times out (default 1)
-sentinel-address string
the address of the Sentinel master
-sentinel-master string
the name of the Sentinel master (default "mymaster")
```