まとまりのないブログ

something which something is something

Tips

Redisのクラスター機能を使ってみた

投稿日:

Redisとは

インメモリで動作するKey-Value型のデータストレージソフトウェア

Redisのクラスター機能

redisを機動しているサーバ複数でクラスターを組むことができ、負荷分散、耐障害に強くなるという特徴がある。

Redisのクラスターのメリット

  • データ書き込み時の負荷分散を行える
  • マスタースレーブ構成の場合、マスターに障害が発生するとスレーブがマスターに昇格して代わりになることができるという機能が使える

Redisのクラスターのデメリット

  • マシン台数が多く必要になる。マスターのみの構成なら最低3台、実運用するなら耐障害を考慮したマスタースレーブ構成に必然的になると思われるがその場合だと最低6台のマシンが必要になる。

メモ

一応動くかどうかテストはしてみた。マスターのみの構成でも最低でサーバ3台用意しないといけないのでなかなか大変だったが、それにしてもこのRedisのクラスターというのはどこの大規模システムで使うことを想定しているのだろうか。最低でも6台のマシン(各マスターとスレーブ)をキャッシュサーバとして使うことを許されるシステムだとしたら全体だったら何十台のサーバが稼働することやら(@ . @)クラクラ

クラスターじゃなくてもっとシンプルにマスターとスレーブのみの構成なら2台でいけるんじゃないか?と思ったが、その場合だとRedis Sentinelという監視用のサーバ3台が別途必要になってきてそれでも最低5台必要ということになる。

Redisクラスターにうってつけのマシンといえば、ラズベリーパイ4B 8GBモデルかもしれない。ラズパイにメモリ8GBも何に使うんだろ・・・と思っていたが、キャッシュサーバとしてこれほど適した用途はないんじゃないだろうか。サーバだけれどキャッシュ用途なのでECC機能は必要ないという点も丁度いい。この性能のキャッシュサーバをAWS ElastiCacheで複数台契約しようとすると恐ろしい金額になる。

-Tips

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

Delphi デバッグで実行してもウインドウが表示されない場合の対処法

デバッグで実行してみても、起動せずにウインドウが表示されない場合の対処法。 直接デバッグフォルダのexeファイルを実行してみる dllやコンポーネントを追加とか削除したりした場合に、デバッグを実行!と …

no image

pythonの配列と配列に似たようなものについて

pythonの配列 配列の宣言 list = [] pythonでは配列のことを主にリストと呼ぶ。 配列の要素への代入 list = [0,1,2,3,4] 配列の要素へのアクセス print(lis …

no image

チェックボックスのチェックの有無を確認する

チェックボックスがチェックされているかいないかをチェック。 サンプルコード <script type=”text/javascript”> function check_ischecked …

no image

ZeroLink: unknown symbol '_NSApplicationMain'

[Session started at 2008-03-21 00:22:13 +0900.] ZeroLink: unknown symbol ‘_NSApplicationMain&# …

楽天ひかり回線でのipv6対応ルータを使った自宅サーバ環境の構築についての雑文

単なる雑文。誰かの参考になるかどうかは不明。 楽天ひかりを契約してPPPOEによるipv4でのネット接続は問題なく運用できていたが、速度面で不安定なため高速なネット環境を実現したかったので新しくipv …