<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

    1、twemproxy explore

          當(dāng)我們有大量 Redis 或 Memcached 的時(shí)候,通常只能通過(guò)客戶端的一些數(shù)據(jù)分配算法(比如一致性哈希),來(lái)實(shí)現(xiàn)集群存儲(chǔ)的特性。雖然Redis 2.6版本已經(jīng)發(fā)布Redis Cluster,但還不是很成熟適用正式生產(chǎn)環(huán)境。 Redis 的 Cluster 方案還沒(méi)有正式推出之前,我們通過(guò) Proxy 的方式來(lái)實(shí)現(xiàn)集群存儲(chǔ)

           Twitter,世界最大的Redis集群之一部署在Twitter用于為用戶提供時(shí)間軸數(shù)據(jù)。Twitter Open Source部門提供了Twemproxy。

         Twemproxy,也叫nutcraker。是一個(gè)twtter開源的一個(gè)redis和memcache代理服務(wù)器。 redis作為一個(gè)高效的緩存服務(wù)器,非常具有應(yīng)用價(jià)值。但是當(dāng)使用比較多的時(shí)候,就希望可以通過(guò)某種方式 統(tǒng)一進(jìn)行管理。避免每個(gè)應(yīng)用每個(gè)客戶端管理連接的松散性。同時(shí)在一定程度上變得可以控制。

          Twemproxy是一個(gè)快速的單線程代理程序,支持Memcached ASCII協(xié)議和更新的Redis協(xié)議:

         它全部用C寫成,使用Apache 2.0 License授權(quán)。項(xiàng)目在Linux上可以工作,而在OSX上無(wú)法編譯,因?yàn)樗蕾嚵薳poll API.

          Twemproxy 通過(guò)引入一個(gè)代理層,可以將其后端的多臺(tái) Redis 或 Memcached 實(shí)例進(jìn)行統(tǒng)一管理與分配,使應(yīng)用程序只需要在 Twemproxy 上進(jìn)行操作,而不用關(guān)心后面具體有多少個(gè)真實(shí)的 Redis 或 Memcached 存儲(chǔ)。 

    2、twemproxy特性:

      • 支持失敗節(jié)點(diǎn)自動(dòng)刪除

        • 可以設(shè)置重新連接該節(jié)點(diǎn)的時(shí)間
        • 可以設(shè)置連接多少次之后刪除該節(jié)點(diǎn)
        • 該方式適合作為cache存儲(chǔ)
      • 支持設(shè)置HashTag

        • 通過(guò)HashTag可以自己設(shè)定將兩個(gè)KEYhash到同一個(gè)實(shí)例上去。
      • 減少與redis的直接連接數(shù)

        • 保持與redis的長(zhǎng)連接
        • 可設(shè)置代理與后臺(tái)每個(gè)redis連接的數(shù)目
      • 自動(dòng)分片到后端多個(gè)redis實(shí)例上

        • 多種hash算法:能夠使用不同的策略和散列函數(shù)支持一致性hash。
        • 可以設(shè)置后端實(shí)例的權(quán)重
      • 避免單點(diǎn)問(wèn)題

        • 可以平行部署多個(gè)代理層.client自動(dòng)選擇可用的一個(gè)
      • 支持redis pipelining request

             支持請(qǐng)求的流式與批處理,降低來(lái)回的消耗

      • 支持狀態(tài)監(jiān)控

        • 可設(shè)置狀態(tài)監(jiān)控ip和端口,訪問(wèn)ip和端口可以得到一個(gè)json格式的狀態(tài)信息串
        • 可設(shè)置監(jiān)控信息刷新間隔時(shí)間
      • 高吞吐量

        • 連接復(fù)用,內(nèi)存復(fù)用。
        • 將多個(gè)連接請(qǐng)求,組成reids pipelining統(tǒng)一向redis請(qǐng)求。

         另外可以修改redis的源代碼,抽取出redis中的前半部分,作為一個(gè)中間代理層。最終都是通過(guò)linux下的epoll 事件機(jī)制提高并發(fā)效率,其中nutcraker本身也是使用epoll的事件機(jī)制。并且在性能測(cè)試上的表現(xiàn)非常出色。

    3、twemproxy問(wèn)題與不足


    Twemproxy 由于其自身原理限制,有一些不足之處,如: 
    • 不支持針對(duì)多個(gè)值的操作,比如取sets的子交并補(bǔ)等(MGET 和 DEL 除外)
    • 不支持Redis的事務(wù)操作
    • 出錯(cuò)提示還不夠完善
    • 也不支持select操作

    4、安裝與配置 

    具體的安裝步驟可用查看github:https://github.com/twitter/twemproxy
    Twemproxy 的安裝,主要命令如下: 
    apt-get install automake  
    apt-get install libtool  
    git clone git://github.com/twitter/twemproxy.git  
    cd twemproxy  
    autoreconf -fvi  
    ./configure --enable-debug=log  
    make  
    src/nutcracker -h

    通過(guò)上面的命令就算安裝好了,然后是具體的配置,下面是一個(gè)典型的配置 
        redis1:  
          listen: 127.0.0.1:6379 #使用哪個(gè)端口啟動(dòng)Twemproxy  
          redis: true #是否是Redis的proxy  
          hash: fnv1a_64 #指定具體的hash函數(shù)  
          distribution: ketama #具體的hash算法  
          auto_eject_hosts: true #是否在結(jié)點(diǎn)無(wú)法響應(yīng)的時(shí)候臨時(shí)摘除結(jié)點(diǎn)  
          timeout: 400 #超時(shí)時(shí)間(毫秒)  
          server_retry_timeout: 2000 #重試的時(shí)間(毫秒)  
          server_failure_limit: 1 #結(jié)點(diǎn)故障多少次就算摘除掉  
          servers: #下面表示所有的Redis節(jié)點(diǎn)(IP:端口號(hào):權(quán)重)  
           - 127.0.0.1:6380:1  
           - 127.0.0.1:6381:1  
           - 127.0.0.1:6382:1  
          
        redis2:  
          listen: 0.0.0.0:10000  
          redis: true  
          hash: fnv1a_64  
          distribution: ketama  
          auto_eject_hosts: false  
          timeout: 400  
          servers:  
           - 127.0.0.1:6379:1  
           - 127.0.0.1:6380:1  
           - 127.0.0.1:6381:1  
           - 127.0.0.1:6382:1 

    你可以同時(shí)開啟多個(gè) Twemproxy 實(shí)例,它們都可以進(jìn)行讀寫,這樣你的應(yīng)用程序就可以完全避免所謂的單點(diǎn)故障。


    http://blog.csdn.net/hguisu/article/details/9174459/
    posted on 2015-11-03 19:30 abin 閱讀(999) 評(píng)論(0)  編輯  收藏 所屬分類: twemproxy

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国精无码欧精品亚洲一区| 一区二区无码免费视频网站| 国产国产人免费视频成69大陆 | 亚洲免费综合色在线视频| 95老司机免费福利| 亚洲男女性高爱潮网站| 在线观看www日本免费网站| 久久久久亚洲av无码专区喷水| 99蜜桃在线观看免费视频网站| 国产日产亚洲系列| 中国一级特黄高清免费的大片中国一级黄色片 | 免费视频成人手机在线观看网址| 亚洲啪啪AV无码片| 日韩电影免费在线观看网站| 亚洲AV永久青草无码精品| 91免费国产自产地址入| 学生妹亚洲一区二区| 国产成人免费永久播放视频平台| 美女被爆羞羞网站免费| 亚洲另类激情专区小说图片| av片在线观看永久免费| 久久久久亚洲AV片无码| 麻豆视频免费观看| 美国毛片亚洲社区在线观看| 国产亚洲情侣一区二区无码AV| 中文字幕无码免费久久| 亚洲中字慕日产2020| 亚洲国产小视频精品久久久三级| a毛片免费全部在线播放**| 久久亚洲AV无码精品色午夜| 国内外成人免费视频| 中文字幕免费在线看| 亚洲人成免费电影| 亚洲女同成人AⅤ人片在线观看| 久久免费高清视频| 亚洲色偷偷色噜噜狠狠99| 中文字幕亚洲图片| 在线v片免费观看视频| 免费国产va在线观看| 久久综合亚洲鲁鲁五月天| 日本免费一二区在线电影|