婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Redis集群方案

Redis集群方案

熱門標簽:b2b外呼系統 南京手機外呼系統廠家 四川穩定外呼系統軟件 400電話辦理的口碑 臺灣電銷 廊坊外呼系統在哪買 高碑店市地圖標注app 地圖標注工廠入駐 一個地圖標注多少錢

前段時間搞了搞Redis集群,想用做推薦系統的線上存儲,說來挺有趣,這邊基礎架構不太完善,因此需要我們做推薦系統的自己來搭這個存儲環境,就自己折騰了折騰。公司所給機器的單機性能其實挺給力,已經可以滿足目前的業務需求,想做redis集群主要有以下幾點考慮:

    1、擴展性,scale-out,以后數據量變得很大之后,不至于推到重來,redis雖然可以開啟虛擬內存功能,單機也能提供超過物理內存上限的容量,但頻繁在內存和硬盤間swap頁會大大降低其性能,有點兒違背redis的設計初衷。

    2、redis是一個單線程io復用的結構,無法有效利用服務器的多核結構,如果能在一臺多核機器起多個redis進程,共同提供服務,效率會更高一些。

    3、主從,數據備份和容災。。

因此計劃做的redis集群希望可以實現以下功能:

    1、data sharding,支持數據切片。

    2、主從備份,主節點寫數據,主和從都提供讀請求服務,并且支持主從自動切換。

    3、讀請求做負載均衡。

    4、更好地,支持節點failover,數據自動遷移。

下面是前后經歷的一個過程:

【第一步】嘗試官方方案

   肯定想去查看一下redis的官方集群方案,但是很遺憾,官方對cluster的聲明如下:

Unfortunately Redis Cluster is currently not production ready, however you can get more information about it reading the specification or checking the partial implementation in the unstable branch of the Redis GitHub repositoriy.

Once Redis Cluster will be available, and if a Redis Cluster complaint client is available for your language, Redis Cluster will be the de facto standard for Redis partitioning.

Redis Cluster is a mix between query routing and client side partitioning.

  由于這邊想做生產環境部署,unstable branch目前還是不敢用,在官方目前的版本上做提前開發又沒有資源和時間,因此就放棄了。

【第二步】初步設想的方案

   舍棄了官方的方案后,就想能不能自己搭一個,當時初步的想法是:用lvs做讀請求的負載均衡,在客戶端代碼里自己寫一個一致性hash算法做數據切片,配置redis主從,并且配置keepalived做主從自動切換。這個方案應該可以施行的,但當時自己遇到一些細節方面的問題,就在stackoverflow上問了一下,問題如下:

Since the redis cluster is still a work in progress, I want to build a simplied one by myselfin the current stage. The system should support data sharding,load balance and master-slave backup. A preliminary plan is as follows:

  1. Master-slave: use multiple master-slave pairs in different locations to enhance the data security. Matsters are responsible for the write operation, while both masters and slaves can provide the read service. Datas are sent to all the masters during one write operation. Use Keepalived between the master and the slave to detect failures and switch master-slave automatically.

  2. Data sharding: write a consistant hash on the client side to support data sharding during write/read in case the memory is not enougth in single machine.

  3. Load balance: use LVS to redirect the read request to the corresponding server for the load balance.

My question is how to combine the LVS and the data sharding together?

For example, because of data sharding, all keys are splited and stored in server A,B and C without overlap. Considering the slave backup and other master-slave pairs, the system will contain 1(A,B,C), 2(A,B,C) , 3(A,B,C) and so on, where each one has three servers. How to configure the LVS to support the redirection in such a situation when a read request comes? Or is there other approachs in redis to achieve the same goal?

Thanks:)

有個網友給了兩個建議:

You can really close to what you need by using:

twemproxy shard data across multiple redis nodes (it also supports node ejection and connection pooling)

redis slave master/slave replication

redis sentinel to handle master failover

depending on your needs you probably need some script listening to fail overs (see sentinel docs) and clean things up when a master goes down

這位網友的兩個建議挺啟發的,我在看redis的官方doc的時候,對twemproxy有一些印象,但當時沒有太在意,至于后者用redis sentinel做master failover,redis sentinel也是一個redis正在開發中的模塊,我不太敢用。

另外,我舍棄自己的這個初步方案還有兩個原因:

1、自己在寫客戶端data sharding和均衡服務的時候,發現實際需要考慮的問題比開始想的要復雜一些,如果寫完,其實相當于將twemproxy的功能做了一遍,造輪子的事情還是少干。

2、功能做得有些冗余,一次讀請求要經過客戶端的sharding、然后還有經過lvs再到實際的服務器,不做優化的話,會增加不少延遲。

【第三步】最終的方案,如下圖所示

圖中畫的挺明白了,就不再多解釋了。

twemproxy是twitter開源的一個數據庫代理服務,可以用于memcached和redis的sharding,兼容二者的標準接口,但是對于redis的keys,dbsize等命令不支持,這個其實想一下也就明白了,這種pool內跨機做統計的命令proxy一般不會支持的。另外,twemproxy在自身與后臺redis之間使用pipeline發送命令,因此性能損失比較小。但是,twemproxy對于每一個客戶端連接開啟的mbuf有限,最大可以設置為64k,如果在客戶端代理層與twemproxy之間也使用pipeline,這個pipeline不能太深,而且不支持pipeline的原子性(transaction),其實,這個時候,相當于客戶端連接與redis數據庫之間存在兩層pipeline,分別是客戶端到twemproxy的pipeline,和twemproy到后臺redis服務器的pipeline,由于二者buffer深度不一致,因此不支持pipeline的transaction也就好理解了。。在引入了twemproxy,插入大規模數據的時候,有時候確實挺耗時,而且pipeline不保證原子性,丟數據時的恢復問題在客戶端需要進行額外關注。對于非transaction的pipeline總丟數據,或者對于數據量比較大的key一次性取數據失敗等問題,后來經查是twemproxy端timeou值設置過小,按照官方示例設置400ms,會在一次性操作大數據量的時候返回timeout失敗,這個數值需要慎重根據業務(具體的,就是客戶端單次命令操作的數據量)進行設置,一般2000ms差不多就夠用了(可以支持一次操作接近百萬的數據)。

上面的結構,將讀操作的負載均衡放到了客戶端代碼來做,寫操作控制也在客戶端層的代碼里,另外,對于twemproy單點、主從之間可以引入keepalived來消除單點和故障恢復。

標簽:畢節 定州 甘南 泰州 南寧 河源 伊春 拉薩

巨人網絡通訊聲明:本文標題《Redis集群方案》,本文關鍵詞  Redis,集群,方案,Redis,集群,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Redis集群方案》相關的同類信息!
  • 本頁收集關于Redis集群方案的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩欧美国产成人一区二区| 国产成人亚洲综合a∨婷婷 | 精品国产99国产精品| 欧美一区永久视频免费观看| 在线观看亚洲精品| 欧美经典一区二区| 精久久久久久久久久久| 欧美精品精品一区| 亚洲第一精品在线| 欧美性色欧美a在线播放| 欧美一级黄色大片| 婷婷国产v国产偷v亚洲高清| 成人午夜激情影院| 久久久久久一二三区| 日日夜夜精品视频天天综合网| 成人在线综合网站| 亚洲视频免费看| 国产乱码精品一区二区三区av | 国产欧美一区二区三区鸳鸯浴| 日本vs亚洲vs韩国一区三区二区 | 亚洲乱码国产乱码精品精的特点| 亚洲精品日韩综合观看成人91| 午夜婷婷国产麻豆精品| jlzzjlzz欧美大全| 国产精品亲子伦对白| 亚洲欧美日韩电影| 欧美一区二区三区四区视频 | 成人激情视频网站| 18成人在线观看| 色综合咪咪久久| 亚洲成av人**亚洲成av**| 色综合激情五月| 亚洲视频在线一区二区| 91亚洲精品一区二区乱码| 视频一区欧美日韩| 国产精品进线69影院| 91精品国产欧美一区二区| 久久99精品视频| 国产精品日韩成人| 95精品视频在线| 一区二区成人在线视频| 欧美三级中文字| 国产电影一区在线| 国产精品一区二区久久精品爱涩| 亚洲bt欧美bt精品777| 国产精品系列在线| 亚洲欧洲精品天堂一级| 色视频成人在线观看免| 白白色 亚洲乱淫| 麻豆精品在线视频| 亚洲制服丝袜av| 国产精品国产三级国产aⅴ原创| 欧美大片免费久久精品三p| www.日本不卡| 成人夜色视频网站在线观看| 午夜亚洲国产au精品一区二区| 精品久久久久一区二区国产| 欧美高清一级片在线| 国产亚洲一二三区| 亚洲人成亚洲人成在线观看图片| 亚洲精品免费播放| 丝袜美腿亚洲色图| 国产成人日日夜夜| 欧美日韩国产在线观看| 欧美一区欧美二区| 中文字幕在线不卡| 亚洲电影你懂得| 亚洲欧美日韩国产综合| 亚洲v日本v欧美v久久精品| 1024亚洲合集| 成人午夜电影网站| 欧美一卡2卡3卡4卡| 久久―日本道色综合久久| 国产精品乱码一区二三区小蝌蚪| 午夜视黄欧洲亚洲| 国产69精品久久99不卡| 成人app在线观看| 欧美一区二区在线不卡| 日韩欧美高清dvd碟片| 国产精品视频免费| 亚洲一区二区三区四区在线免费观看 | 99re视频这里只有精品| 精品国产91洋老外米糕| 国产成人精品午夜视频免费| 国产精品不卡一区| 成人精品鲁一区一区二区| 久久精品人人做人人综合| 另类专区欧美蜜桃臀第一页| 欧美亚洲高清一区| 亚洲一区在线观看网站| 91理论电影在线观看| 久久精品人人做人人爽人人| 另类欧美日韩国产在线| 色偷偷久久一区二区三区| 日韩欧美国产三级| 日韩精品色哟哟| 欧美日韩黄色影视| 国产麻豆精品久久一二三| 国产精品污污网站在线观看| 国产一区二区三区av电影| 欧美裸体bbwbbwbbw| 首页国产丝袜综合| 欧美日韩在线播放三区四区| 国产精品电影院| 成人精品视频一区| 精品国精品国产尤物美女| 欧美网站一区二区| 久久激五月天综合精品| 国产丝袜在线精品| 欧美中文字幕一区二区三区亚洲| 国产欧美日韩另类视频免费观看 | 欧美日韩精品高清| 色综合天天综合网天天看片| 大白屁股一区二区视频| 免费看欧美美女黄的网站| 亚洲一区二区三区四区在线观看| 国产精品天天看| 精品成人私密视频| 欧美在线综合视频| 国产成人啪午夜精品网站男同| 色一区在线观看| 亚洲品质自拍视频| 中文字幕一区二区三区不卡| 久久久99精品久久| 欧美巨大另类极品videosbest| 丰满少妇在线播放bd日韩电影| 亚洲手机成人高清视频| 久久久国际精品| 九九九精品视频| 国产精品1区2区| 91在线观看美女| 日韩欧美123| 亚洲欧美日韩国产综合| 免费在线视频一区| 国产精品久久二区二区| 亚洲欧美偷拍卡通变态| 91国产视频在线观看| 国产乱理伦片在线观看夜一区| 精品国产一区二区三区久久影院 | 日韩欧美一区电影| 久久久久久久久久看片| 丁香网亚洲国际| 在线精品观看国产| 国产成人午夜精品影院观看视频| 麻豆精品视频在线观看免费 | 韩国欧美一区二区| 欧美色老头old∨ideo| 精品处破学生在线二十三| 亚洲私人黄色宅男| 国产乱妇无码大片在线观看| 在线亚洲欧美专区二区| 欧美精品色综合| 国产人成亚洲第一网站在线播放| 一区二区三区免费观看| 亚洲第一综合色| 韩日欧美一区二区三区| 99久久夜色精品国产网站| 欧美电影一区二区| 国产精品乱子久久久久| 久久精品国产亚洲aⅴ| 欧美日韩在线一区二区| 五月天国产精品| 在线一区二区三区| 国产精品久线观看视频| 亚洲男人天堂av网| 日韩欧美一级精品久久| 亚洲一区二区av电影| 色婷婷激情综合| 丝袜诱惑制服诱惑色一区在线观看| 欧洲一区在线电影| 亚洲国产日韩a在线播放性色| 成人91在线观看| 国产精品综合视频| 日韩国产欧美在线播放| 韩国中文字幕2020精品| 91亚洲男人天堂| 国产精品人人做人人爽人人添| 久久国产精品99久久久久久老狼| 天堂蜜桃91精品| 色狠狠色噜噜噜综合网| 欧美系列亚洲系列| 丝袜诱惑制服诱惑色一区在线观看 | 日本黄色一区二区| 日本不卡高清视频| 久久久精品人体av艺术| 日本道精品一区二区三区| 亚洲精品欧美激情| 久久理论电影网| 国产呦萝稀缺另类资源| 中文字幕制服丝袜成人av| 欧美一级日韩一级| 99久久国产免费看| 国产乱子轮精品视频| 偷拍与自拍一区| 欧美国产欧美综合| 欧美日韩专区在线| 97精品久久久午夜一区二区三区 | 亚洲欧美日韩在线播放| 久久综合五月天婷婷伊人| 国产另类ts人妖一区二区|