corvus
v0.2.7
Corvusは、クラスターモードを有効にしたRedis 3.0の高速で軽量のRedisクラスタープロキシです。
ほとんどのRedisクライアントの実装は、Redisクラスターをサポートしていません。 Python、Java、Go、Nodejsなどに書かれたRedisに依存している多くのサービスがあります。互換性を破ることなく、複数の言語にRedisクライアントライブラリを提供することは困難です。 Twemproxyを以前に使用しましたが、高利用可能性のためにSentinelに依存しています。また、バックエンドRedisインスタンスを追加または削除するために再起動する必要があります。また、Twemproxyは単一のスレッドです。多数のクライアントに複数のTwemproxyインスタンスを展開する必要があります。これにより、SAの頭痛が発生します。
したがって、corvusを作成しました。
テスト結果の詳細を参照してください。
[リリース]ページからダウンロードされたリリースを使用する場合は、次のように作成します。
$ make
デバッグモードを有効にします:
make debug
最新のソースからビルドする場合:
git clone https://github.com/eleme/corvus.git
cd corvus
git submodule update --init
make deps # need autoconf
makeバイナリは./src/corvusで見つけることができます。
構成ファイルの例はcorvus.confにあります。
$ ./src/corvus path/to/corvus.confSET 、 GET 、 INCR ..など)がサポートされています。MGET :複数のGETに分割します。MSET :複数のSETに分割します。DEL :複数の単一のキーDELに分割します。EXISTS :複数の単一のキーに分割されEXISTS 。PING :無視され、転送されません。INFO 、 TIME :Redisをバックエンドするために転送されず、プロキシで収集された情報が返されます。SLOWLOG :corvus自体によって保存されたslowlogsを返します。 Redisとは異なり、スローログエントリには、 total latencyフィールドの前に追加のremote latencyフィールドがあることに注意してください。スローログは、複数キーコマンドの最も遅いサブコマンドを記録します: MGET 、 MSET 、 DELがEXISTS 。サブCMDエントリの総レイテンシは、親CMDと同じです。AUTH :プロキシで認証を行います。CONFIG :サポートサポートget 、 set 、およびrewriteサブコマンドは、corvus configを取得および操作します。SELECT :インデックスが0の場合は無視され、転送されません。 EVAL :少なくとも1つのキーを指定する必要があります。複数のキーがある場合、それらはすべて同じノードに属する必要があります。次のコマンドでは、すべての引数キーが同じRedisノードに属する必要があります。
SORT 。RPOP 、 LPUSH 。SDIFF 、 SDIFFSTORE 、 SINTER 、 SINTERSTORE 、 SMOVE 、 SUNION 、 SUNIONSTORE 。ZINTERSTORE 、 ZUNIONSTORE 。PFCOUNTE 、 PFMERGE 。 KEYSなど、次のコマンドは利用できません。すべてのバックエンドRedisインスタンスでキーを検索することはできません。
KEYS 、 MIGRATE 、 MOVE 、 OBJECT 、 RANDOMKEY 、 RENAME 、 RENAMENX 、 SCAN 、 WAIT 。BITOP 、 MSETNXBLPOP 、 BRPOP 、 BRPOPLPUSH 。PSUBSCRIBE 、 PUBLISH 、 PUBSUB 、 PUNSUBSCRIBE 、 SUBSCRIBE 、 UNSUBSCRIBE 。EVALSHA 、 SCRIPT 。DISCARD 、 EXEC 、 MULTI 、 UNWATCH 、 WATCH 。CLUSTER 。ECHO 、 QUIT 。BGREWRITEAOF 、 BGSAVE 、 CLIENT 、 COMMAND 、 CONFIG 、 DBSIZE 、 DEBUG 、 FLUSHALL 、 FLUSHDB 、 LASTSAVE 、 MONITOR 、 ROLE 、 SAVE 、 SHUTDOWN 、 SLAVEOF 、 SYNC 。 mit。 Copyright(c)2016 Eleme Inc.
詳細については、ライセンスを参照してください。