Redis集群备忘录

对于Redis集群的备忘录。

这个功能在 Redis 3.0 版本正式添加进来。
之前已经有了作为实验性实现的版本。

公开的信息

(release) Redis 3.0.0 is out. – Google グループ … Redis 3.0.0 リリースアナウンス。

Redis Cluster Specification … 仕様詳細

Redis cluster tutorial … クラスタ機能を試すことができるチュートリアル

简而言之。

使用Redis集群功能可以将Redis实例进行集群化。
与常规的复制配置不同,可以将多个主节点绑定在一起协同工作,以扩展整个集群中所存储的数据量。

特征

    • Redis の単一キーのコマンドはすべてサポート

 

    • Redis の複数キーのコマンドはキーがすべて同じノードにあれば OK

 

    • 全ノードがクライアントからのリクエストを受け付ける

自分がデータを持ってない場合、エラーを返して正しいノードにリダイレクトさせる

リクエストを正しいノードにプロキシすることはしない

全ノードがお互いに通信する

Gossip プロトコル

master/slave, フェールオーバー

各masterに1つ以上のslaveをレプリケーションさせることができる
master ダウン時は slave にフェールオーバーする
slave が1台もいなくなった場合、他の master の slave が複数いれば、slave を譲り受けることができる。Replica Migration

リシャーディング機能

ノードを追加してデータを再配置し、スケールアウトすることができる

設計思想

1000ノードオーダーでスケールアウト可能
書き込み安全性、可用性も担保する

与其他分散型KVS的不同

我认为以下是显著特点。

    • ノードに master/slave の role があること

 

    リクエストに対するデータを持っていないノードに問い合わせたとき、正しいノードにリダイレクトされる。

在其他分布式键值存储系统中,节点没有角色的区分,它们会内部解析并返回数据的位置。例如Cassandra和Riak。

对于想要更详细了解规格的人来说,请进一步提供信息。

想要一个简略了解的人所需

Salvatore Sanfilippo – How Redis Cluster works, and why – NoSQL matters Barcelona 2014 … 2014年11月に発表された作者によるクラスタ機能解説のスライド(31P)

Redisのクラスタリング — redis 2.0.3 documentation … もうだいぶ古くなってしまった情報ですが、概念はあまり変わってないと思います。参考程度に。

请看下列文章

Redis Cluster の構築と利用(Redis 3.0.0) – ALBERT Engineer Blog

チュートリアルの内容に加えて、基本的な仕様の解説がまとまっていると思います

Redis Cluster のリシャーディングとorphaned masterの話 – CyberAgent エンジニア Advent Calendar 2014 2日目

昨年12月の記事。Redis のバージョンは 3.0.0 RC1 と 3.0.0 beta-3
リシャーディング機能、レプリカ・マイグレーションについて実際に動かしたときの挙動を詳しく解説している

[WIP] Redis Cluster Specification を翻訳してみる

公式仕様を最初の3割ぐらい日本語化してみたもの

尝试做教程的文章

    • redis clusterの作り方 – Qiita

RedisClusterをちょっとだけ試してみる。 – peropero

2013年12月なので、ちょっと古い。このときは unstable だったことが伺える。

其他相关文章

Redis cluster, no longer vaporware. – Antirez weblog

2014年10月ごろの作者によるブログ投稿記事
2011年3月から始まった Redis Cluster 開発の歴史について

我个人感兴趣的问题

    • 仕様について

非クラスタのRedisをクラスタ版に置き換える場合、これまでのRedisクライアントは書き替える必要がある?

リダイレクトが発生するので、ありそうな話。

ある master の系統が slave 含めて全滅したときは勝手にリシャーディングしてくれる?

これまで読んだドキュメントの情報だと、クラスタがダウンしそう。
たぶん手動で MIGRATE 操作を行って、クラスタのノード数を減らすことはできる

最后

如果有错误,请告诉我。
可能会不定期更新。

广告
将在 10 秒后关闭
bannerAds