溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下如何安裝配置Twemproxy

發布時間:2022-02-16 14:59:42 來源:億速云 閱讀:163 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Linux下如何安裝配置Twemproxy的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Twemproxy是一種代理分片機制,由Twitter開源。Twemproxy作為代理,可接受來自多個程序的訪問,按照路由規則,轉發給后臺的各個Redis服務器,再原路返回。該方案很好的解決了單個Redis實例承載能力的問題。

Linux下如何安裝配置Twemproxy

首先需要安裝autoconf、automake、libtool工具,比如ubuntu可以使用如下命令安裝

yum install autoconf automake  
yum install libtool

下載Twemproxy并安裝

cd /usr/servers  
wget https://github.com/twitter/twemproxy/archive/v0.4.0.tar.gz  
tar -xvf v0.4.0.tar.gz    cd twemproxy-0.4.0/  
autoreconf -fvi  
./configure && make

此處根據要注意,如上安裝方式在有些服務器上可能在大量如mset時可能導致Twemproxy崩潰,需要使用如 CFLAGS=”-O1″ ./configure && make或CFLAGS=”-O3 -fno-strict-aliasing” ./configure && make安裝。

配置

vim /usr/servers/twemproxy-0.4.0/conf/nutcracker.yml

server1:  
 listen: 127.0.0.1:1111  
 hash: fnv1a_64  
 distribution: ketama  
 redis: true  
 servers:  
  - 127.0.0.1:6379:1

啟動Twemproxy代理

/usr/servers/twemproxy-0.4.0/src/nutcracker  -d -c /usr/servers/twemproxy-0.4.0/conf/nutcracker.yml

-d指定后臺啟動 -c指定配置文件;此處我們指定了代理端口為1111

查看是否啟動成功

ps -aux | grep nutcracker

進入Redis客戶端

/usr/servers/redis-2.8.19/src/redis-cli  -p 1111

執行如下命令

127.0.0.1:1111> set i 1  
OK  
127.0.0.1:1111> get i  "1"

設置

基本配置

其使用YML語法,如:

server1:  
 listen: 127.0.0.1:1111  
 hash: fnv1a_64  
 distribution: ketama  
 timeout:1000  
 redis: true  
 servers:  
  - 127.0.0.1:6660:1  
  - 127.0.0.1:6661:1  

server1:是給當前分片配置起的名字,一個配置文件可以有多個分片配置;
listen : 監聽的ip和端口;hash:散列算法;
distribution:分片算法,比如一致性Hash/取模;
timeout:連接后端Redis或接收響應的超時時間;
redis:是否是redis代理,如果是false則是memcached代理;
servers:代理的服務器列表,該列表會使用distribution配置的分片算法進行分片;

分片算法

 #hash算法:   one_at_a_time   md5   crc16   crc32 (crc32 implementation compatible with libmemcached)   crc32a (correct crc32 implementation as per the spec)   fnv1_64   fnv1a_64   fnv1_32   fnv1a_32   hsieh   murmur   jenkins #分片算法:   ketama(一致性Hash算法)   modula(取模)   random(隨機算法)

服務器列表

  servers:    - ip:port:weight alias如 servers:  - 127.0.0.1:6660:1  - 127.0.0.1:6661:1或者 servers:  - 127.0.0.1:6660:1 server1  - 127.0.0.1:6661:1 server2

HashTag

比如一個商品有:商品基本信息(p?)、商品介紹(d?)、顏色尺碼(c?)等,假設我們存儲時不采用HashTag將會導致這些數據不會存儲到一個分片,而是分散到多個分片,這樣獲取時將需要從多個分片獲取數據進行合并,無法進行mget;那么如果有了HashTag,那么可以使用“::”中間的數據做分片邏輯,這樣id一樣的將會分到一個分片。

nutcracker.yml配置如下:

server1:   listen: 127.0.0.1:1111   hash: fnv1a_64   distribution: ketama   redis: true   hash_tag: "::"   servers:    - 127.0.0.1:6660:1 server1    - 127.0.0.1:6661:1 server2

連接Twemproxy

/usr/servers/redis-2.8.19/src/redis-cli  -p 1111

在我的服務器上可以連接6660端口

/usr/servers/redis-2.8.19/src/redis-cli  -p 6660  
127.0.0.1:6660> get p:12:  "1"  
127.0.0.1:6660> get d:12:  "1"  
127.0.0.1:6660> get c:12:  "1"

感謝各位的閱讀!關于“Linux下如何安裝配置Twemproxy”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女