成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

linux下使用redis代理twmproxy

系統 Linux Redis
twemproxy,又名nutracker,是一個快速,輕量級的代理程序,支持memcache 和redis協議。它主要用來降低后端緩存服務器的連接數。

twemproxy,又名nutracker,是一個快速,輕量級的代理程序,支持memcache 和redis協議。它主要用來降低后端緩存服務器的連接數。

目前的***版本為0.3.0.git地址:https://github.com/yuyunliuhen/twemproxy。

編譯:

  1. $get clone https://github.com/yuyunliuhen/twemproxy  
  2. $cd twemproxy & ./configure --enable-debug=log & make  
  3. $src/nutcracker --help  

這樣就已經編譯成功了,這里從源代碼目錄啟動,也可以通過make install 安裝。

命令行選項:

  1. -t, --test-conf : test configuration for syntax errors and exit 

 

測試配置文件是否正確,默認為conf/nutcracker.yml,詳細內容是這樣的:

#p#

配置文件各項參數的說明下面會進行詳細的介紹;

  1. -d, --daemonize : run as a daemon 

后臺啟動進程

  1. -D, --describe-stats : print stats description and exit 

  1. -v, --verbosity=N : set logging level (default: 5, min: 0, max: 11)  

默認情況下debug日志是不可用的,不過在生產環境中打開debug日志并將日志級別設置為verbosity,LOG_INFO(-v 6 或者 –verbosity=6);

 默認日志級別:

 

日志級別-v 6 或者 –verbosity=6:

在這個日志級別里,nutcracker 日志記錄了每個客戶端和服務端的生存周期和一些像節點從hash環上淘汰等重要信息.

打開debug日志的方法是在編譯的時候加上--enable-debug=log選項.

  1. -o, --output=S : set logging file (default: stderr) 

  1. -c, --conf-file=S : set configuration file (default: conf/nutcracker.yml)  

如果不指定此選項,默認為conf/nutcracker.yml,我們也可以設定自己的配置文件;

 

  1. -s, --stats-port=N : set stats monitoring port (default: 22222) 

  1. -a, --stats-addr=S : set stats monitoring ip (default: 0.0.0.0) 

 

指定啟動地址,默認為0.0.0.0;

  1. -i, --stats-interval=N : set stats aggregation interval in msec (default: 30000 msec)  

  1. -p, --pid-file=S : set pid file (default: off)  

  1. -m, --mbuf-size=N : set size of mbuf chunk in bytes (default: 16384 bytes) 

#p#

配置文件參數:

  1. listen: The listening address and port (name:port or ip:port) for this server pool. 

nutcracker服務器池監聽端口和地址;

  1. hash: The name of the hash function 

hash函數,支持md5,crc16,crc32,finv1a_32等十多種;

  1. hash_tag: A two character string that specifies the part of the key used for hashing. Eg "{}" or "$$". Hash tagenable mapping different keys to the same server as long as the part of the key within the tag is the same. 

啟用hash tags 意味著你將使用key的一部分來計算hash值,當hash tages存在的時候 ,我們使用在標簽內的key的一部分來構建一致性hash,其他情況,我們使用全部的key去構建。hash tags能夠讓你將不同的key(只要在標簽內的部分相同)映射到相同的服務器上。

例如,服務池beta的配置如下,指定了兩個hash_tag字符“{}”,這意味著keys”user:{user1}:ids” 和 “user:{user1}:tweets” 將會映射到同一臺服務器上,因為我們使用的是’user1′來計算hash,對于key “user:user1:ids”將會是用整個字符串來計算hash,所以可能會映射到其他服務器上。

  1. timeout: The timeout value in msec that we wait for to establish a connection to the server or receive a response from a server. By default, we wait indefinitely. 

為nutcracker的每一個服務池配置timeout 要比僅僅依靠客戶端超時要好的多。

比如 :timeout: 400

 

僅僅依靠客戶端超時設置并不能達到理想的超時效果,反而起到了相反的作用,因為客戶端的超時設置在這里變成了客戶端對代理的超時,但代理對服務端的鏈接是一直保持的,客戶端重試請求對于服務端是沒有效果的。默認情況下,任何發送給服務端的請求,nutcracker都會無限期的等待,當timeout被設置后,如果在timeout的時間過后還沒有從服務端得到回應,這時會將超時錯誤信息SERVER_ERROR Connection time out發送給客戶端。

  1. backlog: The TCP backlog argument. Defaults to 512.  
  2. preconnect: A boolean value that controls if nutcracker should preconnect to all the servers in this pool on process start. Defaults to false.  
  3. redis: A boolean value that controls if a server pool speaks redis or memcached protocol. Defaults to false.  
  4. server_connections: The maximum number of connections that can be opened to each server. By default, we open at most 1 server connection.  

twemproxy的設計意圖是通過少量的服務端的鏈接來響應更多的客戶端的鏈接,但是需要注意的是當twemproxy配置了 server_connections: > 1時,情況就不一定是這樣的。

為了說明這一點,假設在twemproxy 配置為server_connections: 2的場景下,一個客戶端發出了以set foo 0 0 3\r\nbar\r\n(寫)為開始,然后第二個命令是get foo\r\n (讀)的piplined請求,期望的結果是讀取foo的時候能夠返回bar,然而,由于配置了兩個服務端鏈接,讀寫請求可能被發送到不同的鏈接上,也意味著他們的執行順序要看哪一個先到達服務端,總結一下,如果客戶端期望得到的是我***寫的內容,需要將twemproxy配置為 server_connections:1或者客戶端只發起同步的請求。

  1. auto_eject_hosts: A boolean value that controls if server should be ejected temporarily when it fails consecutively server_failure_limit times. See liveness recommendations for information. Defaults to false.  
  2. server_retry_timeout: The timeout value in msec to wait for before retrying on a temporarily ejected server, when auto_eject_host is set to true. Defaults to 30000 msec.  
  3. server_failure_limit: The number of consecutive failures on a server that would lead to it being temporarily ejected when auto_eject_host is set to true. Defaults to 2.  
  4. servers: A list of server address, port and weight (name:port:weight or ip:port:weight) for this server pool. 

twemproxy上代理的服務實例可以通過兩種字符串格式指定‘host:port:weight’ 或者 ‘host:port:weight name’.

         或者

在前面的配置中,keys是直接由‘host:port:weight’三重映射而來,而在后者keys是由節點名映射而來,節點名和主機的地址和端口對應,后者的方法可以使我們更自由地在不打亂hash環的情況下重置節點后端實例。在auto_eject_hosts設置為false的情況下,達到理想的配置。 了解詳細issue 25

需要注意的是當使用節點名來構建一致性hash環的時候,twemproxy將會忽略’host:port:weight name’這種格式的字符串中權重的值。

 

測試使用:

 (1)    配置一份配置文件:

(2)    按照servers的配置分別在對應服務器上啟動redis-server;

(3)    啟動nutcracker

日志顯示redis pool代理4 servers.

#p#

(4)    連接nutcracker,并設置獲取鍵值

各個redis服務器的監視情況:

 

 

 

 

nutcracker日志:

 以上只是展示了一主機多實例的情況,如果是多主機多實例,只需要更改對應IP就行了。

 參考:twemproxy/recommendation.md(翻譯)twemproxy的一些生產環境使用經驗

原文鏈接:http://blog.chinaunix.net/uid-8625039-id-4384964.html

責任編輯:牛小雨 來源: chinaunix
相關推薦

2021-01-12 09:55:29

LinuxCntlm代理

2009-07-06 10:26:32

2010-02-03 10:00:29

Linux YUM

2011-03-29 09:08:50

Linux配置Cacti

2011-03-30 11:04:11

Linuxmrtg

2009-11-23 11:51:07

linuxscp

2011-01-13 10:50:50

2017-03-01 15:38:34

LinuxUSB網絡

2014-03-04 09:53:29

Redis存儲系統

2009-08-03 12:21:03

linux at命令linux at命令詳定時關機

2010-06-11 11:15:33

Linux編程工具

2014-12-23 09:37:09

Linuxrsync

2022-03-25 14:53:32

Linuxvmstat 命令

2009-06-26 17:33:30

Wiresharkpcaplinux

2010-07-12 17:16:41

Linux SNMP代

2010-11-15 14:46:04

linuxsquidsquidGuard

2009-04-05 13:20:22

2020-04-14 21:12:42

Redis集群Linux

2011-08-24 10:53:41

LinuxLua靜態

2009-12-03 10:07:55

Linuxman命令使用技巧
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久久久久久成人 | 欧美一区二区三区视频在线 | 国产精品免费大片 | 成人午夜精品 | 偷拍亚洲色图 | 中文字幕在线观看日韩 | 人人澡人人射 | 欧美日韩在线视频一区二区 | 天天综合操| 亚洲精品3| 伊人伊成久久人综合网站 | 欧美成人精品一区二区三区 | 91精品久久久久久久久久入口 | 啪啪免费 | av网站在线播放 | 欧美日韩一区在线 | 在线中文字幕亚洲 | 91在线中文字幕 | 亚洲成av人片在线观看 | 一本色道久久综合亚洲精品高清 | 狠狠爱视频 | 国产精品一区二区久久 | 7777久久| 国产色网站 | 久久人体视频 | 一区二区福利视频 | 毛片黄| 视频精品一区二区三区 | 青青草精品视频 | 欧美一级免费看 | 日韩久久久久久久 | 国产91久久久久久久免费 | 免费看日韩视频 | 五月精品视频 | 一区二区久久 | 久久乐国产精品 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 日本三级在线视频 | 久久久久久高潮国产精品视 | 亚洲成人黄色 | 中文字幕 视频一区 |