亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 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集群方案的相關信息資訊供網民參考!
  • 推薦文章
    999久久狠狠免费精品| 999久久狠狠免费精品| 国产一区二区精品在线观看| 日韩一级精品视频在线观看| 天天做日日爱| 你懂的福利视频| 四虎影视精品永久免费网站| 免费一级片网站| 亚久久伊人精品青青草原2020| 日韩在线观看视频黄| 你懂的在线观看视频| 91麻豆爱豆果冻天美星空| 国产精品自拍一区| 久久国产一区二区| 毛片高清| 国产伦精品一区二区三区在线观看 | 久久精品免视看国产明星 | 精品视频免费看| 久久久久久久久综合影视网| 国产a一级| 一本伊大人香蕉高清在线观看| 九九久久国产精品大片| 可以免费在线看黄的网站| 毛片高清| 欧美α片无限看在线观看免费| 黄视频网站免费看| 国产原创中文字幕| 国产一区二区精品久久91| 成人高清视频在线观看| 国产成人欧美一区二区三区的| 999精品视频在线| 美女免费精品高清毛片在线视| 国产欧美精品| 可以在线看黄的网站| 国产欧美精品| 精品视频在线观看免费 | 久久成人综合网| 欧美爱色| 日韩在线观看视频免费| 成人免费观看视频| 精品国产香蕉在线播出| 午夜欧美成人久久久久久| 黄色福利片| 久久国产精品只做精品| 日韩av成人| 亚飞与亚基在线观看| 欧美激情中文字幕一区二区| 韩国三级视频网站| 人人干人人插| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 午夜精品国产自在现线拍| 国产极品白嫩美女在线观看看| 中文字幕97| 欧美激情一区二区三区视频高清| 中文字幕一区二区三区精彩视频 | 国产91素人搭讪系列天堂| 国产极品白嫩美女在线观看看| 精品毛片视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品视频在线观看免费| 夜夜操天天爽| 精品国产三级a∨在线观看| 欧美激情一区二区三区中文字幕| 国产成人精品影视| 亚洲女人国产香蕉久久精品| 国产亚洲精品aaa大片| 韩国三级视频网站| 欧美国产日韩一区二区三区| 成人影视在线观看| 国产不卡在线观看视频| 日韩中文字幕一区二区不卡| 欧美激情一区二区三区视频| 日日夜夜婷婷| 国产91精品系列在线观看| 亚洲第一色在线| 久草免费资源| 一级毛片视频在线观看| 久久国产精品自由自在| 999精品在线| 亚欧视频在线| 国产精品免费精品自在线观看| 九九精品在线| 欧美一级视频免费| 久久国产精品永久免费网站| 麻豆网站在线看| 欧美a级大片| 99久久精品国产麻豆| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 韩国三级视频在线观看| 91麻豆精品国产综合久久久| 夜夜操天天爽| 91麻豆国产级在线| 久久成人综合网| 精品视频在线观看视频免费视频| 国产成人精品影视| 国产不卡高清在线观看视频| 日本伦理片网站| 久草免费在线色站| 国产成人欧美一区二区三区的| 日本特黄特黄aaaaa大片| 中文字幕Aⅴ资源网| 欧美国产日韩久久久| 精品视频一区二区| 四虎影视精品永久免费网站 | 日韩一级黄色| 韩国三级香港三级日本三级la| 麻豆网站在线免费观看| 色综合久久天天综线观看| 国产伦精品一区三区视频| 国产麻豆精品高清在线播放| 国产成人精品影视| 毛片电影网| 国产精品自拍在线| 国产伦理精品| 成人免费观看网欧美片| 四虎影视久久| 成人a大片在线观看| 亚洲精品中文一区不卡| 91麻豆精品国产综合久久久| 久草免费资源| 国产伦久视频免费观看视频| 国产福利免费视频| 日韩专区亚洲综合久久| 黄视频网站在线免费观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久国产一久久高清| 午夜激情视频在线观看| 国产成人精品影视| 亚飞与亚基在线观看| 中文字幕97| 精品国产一区二区三区久| 久久99中文字幕| 二级片在线观看| 你懂的福利视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久草免费在线观看| 免费的黄色小视频| 国产不卡在线看| 精品视频在线观看一区二区 | 99热精品在线| 999久久久免费精品国产牛牛| 国产福利免费视频| 日韩在线观看免费完整版视频| 精品久久久久久中文字幕一区| a级黄色毛片免费播放视频| 精品久久久久久中文字幕一区 | 四虎影视库| 毛片成人永久免费视频| 久草免费资源| 台湾毛片| 国产福利免费观看| 99热精品一区| 九九免费高清在线观看视频| a级黄色毛片免费播放视频| 精品久久久久久中文字幕2017| 99久久精品国产高清一区二区| 日韩男人天堂| 国产亚洲男人的天堂在线观看| 韩国三级视频网站| 国产一区二区精品久久91| 精品久久久久久综合网| 日日夜夜婷婷| 美女免费精品高清毛片在线视 | 色综合久久久久综合体桃花网| 国产精品免费精品自在线观看| 99热精品一区| 人人干人人草| 日日夜夜婷婷| 国产a网| 久久久久久久免费视频| 欧美激情影院| 中文字幕97| 亚洲女初尝黑人巨高清在线观看| 超级乱淫黄漫画免费| 日韩一级黄色片| 日日日夜夜操| 国产美女在线观看| 91麻豆精品国产高清在线| 99久久视频| 91麻豆精品国产综合久久久| 99热精品在线| 九九久久99| 一级女性全黄久久生活片| 一级毛片看真人在线视频| 中文字幕Aⅴ资源网| 可以免费看毛片的网站| 亚欧视频在线| 欧美激情一区二区三区视频 | 天天做人人爱夜夜爽2020| 青青久久网| 日日日夜夜操| 色综合久久天天综合绕观看| 美女被草网站| 日韩av片免费播放| 日韩男人天堂| 久久福利影视| 午夜激情视频在线观看| 日日夜人人澡人人澡人人看免| 欧美激情一区二区三区在线| 国产一区二区福利久久|