entertainment-venue / rcproxy

A fast, light-weight proxy for redis cluster

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

English | 中文

rcproxy (Redis Cluster Proxy)

Introduction

rcproxy as the name implies, provides a proxy for Redis Cluster.

rcproxy is based on gnet network framework, and uses a single thread/goroutine network model with a high-performance event loop. Test performance is comparable to twemproxy.

rcproxy inspired by twemproxy.

Features

  • High-performance event-loop under networking model of single thread/goroutine.
  • Automatically shards to multiple redis nodes.
  • Keeps a small number of connections to redis.
  • Detects health status of Redis cluster every second.
  • Implements the complete redis protocol.
  • Read/Write Splitting, and load balancing between slaves.
  • Supports IP whitelist dynamic loading.
  • Supports Prometheus Metrics endpoint, exposure observation metrics.
  • Verified in Redis 3.0.3/6.2.6
  • Works with Linux, OS X.

Getting Started

  • go >= 1.17
git clone git@github.com:entertainment-venue/rcproxy.git
cd rcproxy && make
./bin/rcproxy -p conf -c yc.yaml -a authip.yaml

Details of rcproxy

License

Source code of rcproxy should be distributed under the Apache-2.0 license.

Acknowledgments

About

A fast, light-weight proxy for redis cluster

License:Apache License 2.0


Languages

Language:Go 98.4%Language:ASL 1.5%Language:Makefile 0.1%