架构实战:(一)Redis采用主从架构的原因
架構(gòu)實(shí)戰(zhàn)
(一)Redis采用主從架構(gòu)的原因
(二)
?
如果系統(tǒng)的QPS超過10W+,甚至是百萬以上的訪問,則光是Redis是不夠的,但是Redis是整個大型緩存架構(gòu)中,支撐高并發(fā)的架構(gòu)非常重要的環(huán)節(jié)。
首先,你的緩存中間件、緩存系統(tǒng),必須能夠支撐起10w+的高并發(fā); 其次,再經(jīng)過良好的整理緩存架構(gòu)設(shè)計(jì)(多級緩存架構(gòu)、熱點(diǎn)緩存等),支撐真正上十萬、甚至上百萬的高并發(fā)。
然而單機(jī)的Redis是支撐不了的,單機(jī)的Redis能夠承載的QPS大概就在上萬到幾萬的并發(fā),除非你的服務(wù)器配置特別高,性能特別好的物理機(jī),才有可能支持10w的請求,如果大量的訪問過來,單機(jī)Redis被流量打死,則系統(tǒng)的瓶頸就卡到Redis上了。所以,我們要采用主從架構(gòu)的Redis來支撐高并發(fā)系統(tǒng)。
一般高并發(fā)的應(yīng)用,寫的請求是比較少的,大量的請求都是讀。所以我們要采用? 主從架構(gòu) +?讀寫分離,來支撐10W+ 的讀QPS的系統(tǒng)。
(1)主從架構(gòu)
(2)讀寫分離
(3)可支持水平擴(kuò)展的讀高并發(fā)架構(gòu)
?redis replication的核心機(jī)制
(1)redis采用異步的方式復(fù)制數(shù)據(jù)到slave節(jié)點(diǎn)上,從2.8版本開始,salve node會周期性的確認(rèn)自己每次復(fù)制的數(shù)據(jù)量
(2)一個master node可以配置多個slave node節(jié)點(diǎn)
(3)slave node也可以連接其他的slave node節(jié)點(diǎn)
(4)slave node做復(fù)制的時候,也不會阻止master node的正常工作
(5)slave node在做復(fù)制的時候,不會阻止對自己的查詢操作,它會用舊的數(shù)據(jù)集來提供服務(wù);但是復(fù)制完成的時候,需要刪除舊的數(shù)據(jù)集,加載新數(shù)據(jù)集,這時候就會暫停對外的服務(wù)了
(6)slave node主要用來做橫向擴(kuò)容,做讀寫分離,擴(kuò)容的slave node可以提供讀的吞吐量
?
?
轉(zhuǎn)載請注明出處:http://www.cnblogs.com/chenansys/articles/7467043.html?
轉(zhuǎn)載于:https://www.cnblogs.com/chenansys/articles/7467043.html
總結(jié)
以上是生活随笔為你收集整理的架构实战:(一)Redis采用主从架构的原因的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国首座!智慧机场建成投运,BIM技术打
- 下一篇: 密码学中数论和有限域基本概念