高度な機能()のRedisの研究ノート---のRedisの

序文

高度な機能に関連付けられているRedisのを理解する前に、我々は最初のシングルの問題Redisのステーションを理解する必要があり、開発中に遭遇することができる、および関連のボトルネック。

遭遇することがある問題

一般に、Redisのプロジェクトを適用し、一つだけのRedisは、以下の理由から全く許容されない:
[1]構成から、単一サーバが単一障害点をRedisの、サーバはすべて処理する必要がありますこれは、負荷圧力を要求します。(フォールトトレランス)
容量から[2]は、単一のRedisサーバのメモリ容量は、サーバーがRedisの256Gの含有量であっても、制限され、また、メモリの最大の使用は、RedisのRedisのは、一般的に、使用されるすべてのメモリ記憶装置の内容ではないことができそれは20G以上でなければなりません。

II。基本的な概要

2.1高可用性

そのサービスの高可用性を維持しながら、「高可用性」は、通常、ダウンタイムを減らし、特別に設計されたシステムを記述するために使用されます。(私は使用することができました)

2.2高い同時実行

並行性の高いインターネットは、分散システムアーキテクチャ設計の要因の一つである、それは通常、それは同時に、設計保証システムを通じて多くの同時要求を処理できることを意味し、考慮しなければなりません。
一般的に高い同時実行関連の指標で使用されるいくつかは、など、応答時間、スループット、毎秒のクエリ、同時ユーザーを、持っています

応答時間:例えば要求に対するシステム時間応答、200msのにHTTPリクエストの要求を処理するためのシステム、200ミリ秒は、システムコールの応答時間である
単位時間当たりの処理リクエスト数:スループット
毎秒クエリーレート(QPS):毎秒の要求に応じて番号は、インターネットの分野では、この指標は、スループットとあまり目立たないが区別されません。
同時ユーザ:システム機能の通常の使用を担持しながら、ユーザの数。例えば、インスタント通信システム、及びある程度同時ユーザーがオンライン量の系を表します。

2.3方法とシステムのパフォーマンスを向上させます

水平展開から垂直拡張(スケールアップ):システムの同時実行方法を改善する、二つの主な方法がある
単一のサーバーのスケーラビリティ:垂直拡張
水平方向のスケーリング:のであれば、サーバの数が増加するように、システム性能が線形拡張することができ、水平方向拡大システムアーキテクチャ設計は困難があり、必要とされています。どのように各レイヤアーキテクチャで水平にスケーラブルな設計。

三。Redisのマスタースレーブのレプリケーション

私たちが使用する単一のボトルネックのRedisサーバだけでなく、高可用性と高同時実行を追求し、現代のインターネットの発展ということを学んだ上で。Redisのも----マスタースレーブレプリケーションを、このボトルネックを解決し、このシナリオに適応するための方法を紹介しました

3.1はじめに

シナリオ:電子商取引サイト上の商品、となっているそのプロポイントの通常一度アップロードされ、数多くのビュー「以下の書き込みを読んで。」
マスター・スレーブレプリケーション:Redisのサービスは、サービスの複数のコピーを持つことができ、このサービスはRedisのマスター、他と呼ばれる奴隷と呼ばれています。
ここに画像を挿入説明
図に示すように、我々は、プライマリ・リポジトリ(Masrer)としてのRedisサーバ意志、ライブラリー(スレーブ)から他の3として、主要なライブラリは、データを書き込むための唯一の責任があり、各データの更新は、すべてのそれに同期したデータを更新しますライブラリ、およびライブラリからからデータを読み出すための唯一の責任があり、この方法は、二つの利点があります:
[1]独立した読み取りおよび書き込みは、サーバーの負荷容量を増加させ、そしてどのくらいからの要求のサイズに応じて増減するのは自由ですことができるだけでなく、ライブラリの数。
[2]データは、いくつかのマシンに障害が発生したがあったとしても、良くなったコピーされ、あなたはまた、他のマシン高速リカバリからのデータを使用することができます。
Redisのマスタースレーブモードでは、マスター・ライブラリーは、ライブラリから複数を持つことができますが、それが唯一のライブラリから一つのメインのライブラリに属することができる:あることに注意してください。

3.2 Redisのマスター・スレーブ構成

マスタースレーブのレプリケーション・アーキテクチャを実現するために、Redisのにはちょうど次のコマンドで設定ファイルからデータベースに追加し、非常に簡単です。
[1]は、任意のプライマリ・データベースの構成を必要としません。からデータベースを作成します

 ./bin/redis-server  ./redis.conf  --port 6380  --slaveof 127.0.0.1  6379 

分析パラメータ:
- 6380 //サーバのポート番号からポート(ポート番号が独自に定義することができます)
127.0.0.1 6379 // -slaveofプライマリサーバを指定
ライブラリーからなどのRedisの別のインスタンスを開始し、6380ポートをリッスンするようにプラスslaveofパラメータを
[2]は、クライアントからサーバへのログオン(サーバからクエリ関数のみ)

./bin/redis-cli -p 6380 -a guoweixin      # 其中6380使我们自定义的从服务器的端口号, guoweixin是我们设置的Redis密码
变回主:slaveof on one  //不是任何从
变回从:slaveof  ip地址  端口号
公開された58元の記事 ウォンの賞賛2 ビュー4464

おすすめ

転載: blog.csdn.net/TheWindOfSon/article/details/104642170