Redisの|記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

転載します。https://juejin.im/post/5ad54d76f265da23970759d3

著者:SnailClimb

ここでまた、我々はあなたを助けることができるように願って未来を構築するために必要なRedisのクラスタをまとめます。

ここでCentos7使用される主なペンです

Redisの設置

Redisのは、C言語の開発です。

Redisのをインストールし、Cコンパイラ環境の言語を必要としています。gccをインストールするためにオンラインである必要がない場合:YUMのgcc-C ++をインストール

最初のステップ:ソースパッケージを取得します:wgetのhttp://download.redis.io/releases/redis-3.0.0.tar.gz

ステップ2:開梱のRedis:Redisの-3.0.0.tar.gz zxvfタール

ステップ三:コンパイラ。ソースディレクトリにRedisの(CDのRedisの-3.0.0)。実行メイク

ステップ4:インストールします。=は/ usr / local PREFIXをインストールします / Redisの

PREFIXパラメータは、Redisののインストールディレクトリを指定します。一般的なソフトウェアは、/ usrディレクトリにインストールされています

Redisのは成功したような場合には、当社のUSR /ローカル/ Redisのディレクトリをインストール。

ステップ5:開始する背景を設定します。

[ルート@ localhostのRedisの-3.0.0]#のcp redis.confは/ usr / local / Redisの/ binに/

(次は/ usr / local / Redisの/ binディレクトリにコピーします/root/redis-3.0.0/redis.conf)

:設定ファイル変更デーモン化へのパラメータの後ろをはい

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

テスト開始: [ルート@ localhostのビン]#./redis-server redis.conf

Redisのプロセスを見る: [ルート@ localhostのビン]#のPS AUX | grepをするのRedis

Redisの2つのクラスタを構築します

2.1 Redisのクラスター(Redisのクラスタ)の原則

あなたはRedisのクラスタを構築したい場合はRedisのは、バージョン3.0より前のバージョン3.0より前のクラスタをサポートしていません格納された値と、対応するノードの値を見つけるためのミドルウェアを必要としています。

Redisのバージョン3.0クラスタアーキテクチャ図の後に:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


これは、それを達成する方法ですか?

Redisのクラスタは、内蔵16384キー値が第一演算結果を使用してクラスタのRedis、RedisのCRC16アルゴリズム鍵に入れ、各キーが対応するように16384の残りの数、結果する場合、ハッシュスロット号に0から16383の間でハッシュ溝、Redisのノードの数に応じて異なるノードにマッピングされたハッシュスロットに実質的に等しくなります。

次の図は、理解し、より簡単にする必要があります。(出典:のhttp://www.cnblogs.com/liyasong/p/redis_jiqun.html)

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


メカニズムを投票のRedisクラスター

RedisのRedisのサーバークラスタは、必然的に複数のサーバがハングアップがあるでしょう。ノード間のサーバクラスタのRedisはピンポン決意を介して相互に接続することができるかどうか。応答がないとき、ノードの半分以上は、ノードにpingを実行する場合は、クラスタノードがダウンしていると見なします。

上記の私たちは、多くの場合、フォールトトレランス生まれたために、言うことであるメカニズムを投票のRedisクラスター

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


2.2 redis集群(redis-cluster)的搭建

redis集群搭建起来很简单,我们这里用一台虚拟机模拟搭建包含6个redis服务器的集群,实际工作中与使用多台服务器搭建是一个操作。

我们上面已经装好了一个redis实例,现在我们需要把它复制6份并修改相应端口。

第一步: 新建redis-cluster文件夹

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


第二步:复制redis实例

[root@Snailclimb local]# cp redis/bin redis-cluster/redis1

如果你复制过去的redis实例有dump.rdb文件的话最好也要删除。

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


第三步:修改配置文件

修改bin目录下的redis.conf配置文件

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


第四步:继续复制5个redis实例

我们用上面的redis实例复制5个redis实例,然后把他们的配置文件的端口号改为7002-7006

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


第五步 :新建一个执行脚本:

[root@Snailclimb redis-cluster]# vim start-all.sh

脚本内容如下:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

为脚本赋予执行权限:

[root@Snailclimb redis-cluster]# chmod u+x start-all.sh

同时启动6个redis实例:

[root@Snailclimb redis-cluster]# ./start-all.sh

第六步:将redis-trib.rb复制到redis-cluster目录下面:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

并为脚本赋予执行权限:[root@Snailclimb redis-cluster]# chmod u+x redis-trib.rb

第七步:安装ruby和ruby运行环境

yum install ruby

yum install rubygems

gem install redis-3.0.0.gem

ステップ8:クラスタを構築するために使用Rubyスクリプト:

[SnailclimbのRedisのクラスタ@ルート]#/ Redisの-trib.rb --replicas 1 192.168.25.155:7001 192.168.25.155:7002 192.168.25.155:7003 192.168.25.155:7004 192.168.25.155:7005 192.168.25.155を作成します。: 7006

ビュークラスタ:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

ポートのエラーを修正するか、クラスタ対応はいが失敗するように設定されたクラスタの削除につながる前にコメントしなかった。注意してください。全体的に、Redisのクラスタセットアップは非常に簡単です。

設定されているような完全なRedisのクラスタが完成されます。

クラスタを使用して、テストのRedisの3スタンドアローン版

Mavenの依存関係を追加します。

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


スタンドアローンのテストのRedis:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


接続プーリングテストスタンドアローンのRedisを使用します。

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

テストクラスタ版のRedis:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

シングルと4 JavaWebでクラスタ化を達成するためにどのようにシームレスにプロジェクトを切り替えます

どのように我々は、彼らが使用したいスタンドアロンクラスタのRedisのRedisの上のプロジェクトで使用する単一のRedisを達成することができ、プロジェクトのRedisのクラスターそれにコードを変更していませんか?

適切なクラスおよびインタフェースを作成します。

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

インタフェース:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


Cluster Editionは使用しています:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

スタンドアローン使用:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


ApplicationContextの-redis.xml

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます


テストコード:

記事のRedisのクラスタを簡単に原理と構造や使用を知ってもらいます

このプロジェクトでは、我々は、関連するスイッチを実装し、スタンドアロンクラスタのバージョンをするために実際のコードを変更する必要はありません。

おすすめ

転載: www.cnblogs.com/wyf0518/p/11461911.html