根據以往的測試結論,單個redis的例項的記憶體總量最好控制在8g以內(最大不能超過20g),而實際上應用對redis的記憶體的需求可能會遠遠大於8g,因此需要乙個保持redis server效能不下降,但可以有效擴充redis server的容量的方案。
twemproxy是乙個恰當的選擇。
[b]簡介[/b]
twemproxy,也叫nutcraker。是乙個twtter開源的乙個redis和memcache**伺服器。
[b]特點[/b]
• 支援失敗節點自動刪除
• 支援設定hashtag
• 減少與redis的直接連線數
• 自動分片到後端多個redis例項上
• 避免單點問題
• 可以平行部署多個**層.client自動選擇可用的乙個
• 支援redis pipelining request
• 支援狀態監控
• 高吞吐量
[b]部署[/b]
參考**:[url]
核心指令碼:
git clone git:
autoreconf -fvi
./configure --prefix=/usr/local --enable-debug=log
make && make install
幫助文件:
usage: nutcracker [-?hvddt] [-v verbosity level] [-o output file]
[-c conf file] [-s stats port] [-a stats addr]
[-i stats interval] [-p pid file] [-m mbuf size]
options:
-h, --help : this help
-v, --version : show version and exit
-t, --test-conf : test configuration for syntax errors and exit
-d, --daemonize : run as a daemon
-d, --describe-stats : print stats description and exit
-v, --verbosity=n : set logging level (default: 5, min: 0, max: 11)
-o, --output=s : set logging file (default: stderr)
-c, --conf-file=s : set configuration file (default: conf/nutcracker.yml)
-s, --stats-port=n : set stats monitoring port (default: 22222)
-a, --stats-addr=s : set stats monitoring ip (default: 0.0.0.0)
-i, --stats-interval=n : set stats aggregation interval in msec (default: 30000 msec)
-p, --pid-file=s : set pid file (default: off)
-m, --mbuf-size=n : set size of mbuf chunk in bytes (default: 16384 bytes)
啟動指令碼:
./bin/nutcracker -c /usr/local/twemproxy/conf/nutcracker_test.yml -s 22222 -d -o /usr/local/twemproxy/logs/nutcracker.log
[b]依賴包[/b]
執行過程中可能遇到依賴包不存在或者版本過低的情況,主要有m4, autoconf, automake, libtool。手動安裝過程如下:
安裝m4
wget
tar -xzvf m4-1.4.17.tar.gz
cd m4-1.4.17
./configure --prefix=/usr/local
make && make install
安裝autoconf
wget
tar -xzvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr/local
make && make install
安裝automake
wget
tar xzvf automake-1.14.tar.gz
cd automake-1.14
./configure --prefix=/usr/local
make && make install
安裝libtool
wget
tar xzvf libtool-2.4.tar.gz
cd libtool-2.4
./configure --prefix=/usr/local
make && make install
Red5的集群方式
本來一直想總結下關於red5伺服器的知識。各種原因耽擱了,最近比較清閒,所以會陸續總結一些相關知識。今天呢,先說說red5的集群吧,自帶的集群 邊源方式。red5本身自帶集群的,在0.9.1版本的時候,可以配置邊源伺服器,配置的步驟也不算繁瑣。但是有乙個缺點是預設的伺服器,支援單邊多源,但是多個源之...
red5聊天功能 私聊的實現
這裡我是在伺服器端進行 遍歷當前所有連線,找到目標物件,然後呼叫客戶端函式。不知道還有沒有更好的方法,如果人數多,伺服器要承受較的的壓力 得到每個連線的使用者名稱,這個使用者名稱是在初始連線時存放的 string u conn.getclient getattribute username tost...
redis持久化到mysql的方案 redisDB
軟體簡介 基於redis和mysql的資料持久化方案 redis執行時連線資料庫 cache失效時同步讀mysql,資料修改時候通過訊息佇列通知db執行緒寫mysql reids.conf增加幾個配置選項 mysql host mysql port mysql user mysql pwd mysq...