2018-11月的架構(gòu)師考試回顧

今年又參加了一次系統(tǒng)架構(gòu)師考試,幾乎可以肯定的說(shuō),過(guò)不了,盡管還看了那么幾天書(shū),回想起來(lái),主要還是自己的功底不扎實(shí),題目雖然有那么點(diǎn)點(diǎn)難。

選擇題是沒(méi)有什么問(wèn)題,但論文與分析應(yīng)用題沒(méi)做好,以至于現(xiàn)在還是耿耿于懷。

題目: 1. nosql 數(shù)據(jù)庫(kù)的應(yīng)用經(jīng)歷及優(yōu)點(diǎn)(我寫的論文)

? ? ? ? ? ? 2. SOA?架構(gòu)的層次說(shuō)明及應(yīng)用(有點(diǎn)微服務(wù)的味道)

? ? ? ? ? ? 3.?數(shù)據(jù)流程圖填空(房東、租客、中介平臺(tái)等)UML(其實(shí)很基礎(chǔ),但記不清楚,慘呀)

? ? ? ? ? ? 4.?系統(tǒng)嵌入式設(shè)計(jì)中的消息通信(基本上不懂)

? ? ? ? ? ? 5. redis?與 memcache?的區(qū)別及redis幾種分布式存儲(chǔ),redis集群的幾種方式(簡(jiǎn)述應(yīng)用題)

好了,題目講完了,我挑了(1),(5)題

論文題目,NoSQL的應(yīng)用,我把工作中用大數(shù)據(jù)庫(kù)計(jì)算銷量預(yù)測(cè)的事情說(shuō)一下,先放個(gè)圖

nosqo - hive的應(yīng)用

出了考場(chǎng)我就后悔,怎么能寫hive呢,改成hbase也會(huì)好點(diǎn)呀,不說(shuō)了。

第(5)題,redis與memcache 的區(qū)別我還知道點(diǎn),

redis有持久化,memcache不支持。。。。。但說(shuō)到redis的幾種分布式存儲(chǔ),我就不清楚了,只知道m(xù)aster-slave,說(shuō)不出幾種來(lái)。而集群方式,就寫分片,哨兵。事后我越想越不對(duì),就認(rèn)真查了一下,正確的答案應(yīng)該是這樣的。

集群方式

1. 客戶端分片

優(yōu)點(diǎn)

不使用第三方中間件,實(shí)現(xiàn)方法和代碼可以自己掌控并且可隨時(shí)調(diào)整。這種分片性能比代理式更好(因?yàn)樯倭朔职l(fā)環(huán)節(jié)),分發(fā)壓力在客戶端,無(wú)服務(wù)端壓力增加

缺點(diǎn)

不能平滑地水平擴(kuò)容,擴(kuò)容/縮容時(shí),必須手動(dòng)調(diào)整分片程序,出現(xiàn)故障不能自動(dòng)轉(zhuǎn)移,難以運(yùn)維

2.?Twemproxy,Codis

twitter開(kāi)源的Twemproxy

Codis是一個(gè)豌豆莢團(tuán)隊(duì)開(kāi)源的使用Go語(yǔ)言編寫的Redis Proxy

優(yōu)點(diǎn)

運(yùn)維成本低。業(yè)務(wù)方不用關(guān)心后端 Redis 實(shí)例,跟操作 Redis 一樣。Proxy 的邏輯和存儲(chǔ)的邏輯是隔離的

缺點(diǎn)

a. 代理層多了一次轉(zhuǎn)發(fā),性能有所損耗

b. 進(jìn)行擴(kuò)容/縮容時(shí)候,部分?jǐn)?shù)據(jù)可能會(huì)失效,需要手動(dòng)進(jìn)行遷移,對(duì)運(yùn)維要求較高,而且難以做到平滑的擴(kuò)縮容

c. 出現(xiàn)故障,不能自動(dòng)轉(zhuǎn)移,運(yùn)維性很差

3.?Redis Cluster

redis version >= 3.0 ,?redis-trib(ruby)?

優(yōu)點(diǎn)

a. 無(wú)中心節(jié)點(diǎn)

b. 數(shù)據(jù)按照 Slot 存儲(chǔ)分布在多個(gè) Redis 實(shí)例上

c. 平滑的進(jìn)行擴(kuò)容/縮容節(jié)點(diǎn)

d. 自動(dòng)故障轉(zhuǎn)移(節(jié)點(diǎn)之間通過(guò) Gossip 協(xié)議交換狀態(tài)信息,進(jìn)行投票機(jī)制完成 Slave 到 Master 角

色的提升)

e. 降低運(yùn)維成本,提高了系統(tǒng)的可擴(kuò)展性和高可用性

缺點(diǎn)

a. 嚴(yán)重依賴外部 Redis-Trib

b. 缺乏監(jiān)控管理

c. 需要依賴 Smart Client(連接維護(hù), 緩存路由表, MultiOp 和 Pipeline 支持)

d. Failover 節(jié)點(diǎn)的檢測(cè)過(guò)慢,不如“中心節(jié)點(diǎn) ZooKeeper”及時(shí)

e. Gossip 消息的開(kāi)銷

f. 無(wú)法根據(jù)統(tǒng)計(jì)區(qū)分冷熱數(shù)據(jù)

g. Slave“冷備”,不能緩解讀壓力

4.?Proxy + Redis Cluster

優(yōu)點(diǎn)

Smart Client:

a. 相比于使用代理,減少了一層網(wǎng)絡(luò)傳輸?shù)南模瘦^高。

b. 不依賴于第三方中間件,實(shí)現(xiàn)方法和代碼自己掌控,可隨時(shí)調(diào)整。

Proxy:

a. 提供一套 HTTP Restful 接口,隔離底層存儲(chǔ)。對(duì)客戶端完全透明,跨語(yǔ)言調(diào)用。

b. 升級(jí)維護(hù)較為容易,維護(hù) Redis Cluster,只需要平滑升級(jí) Proxy。

c. 層次化存儲(chǔ),底層存儲(chǔ)做冷熱異構(gòu)存儲(chǔ)。

d. 權(quán)限控制,Proxy 可以通過(guò)秘鑰控制白名單,把一些不合法的請(qǐng)求都過(guò)濾掉。并

且也可以控制用戶請(qǐng)求的超大 Value 進(jìn)行控制,和過(guò)濾。

e. 安全性,可以屏蔽掉一些危險(xiǎn)命令,比如 Keys、Save、Flush All 等。

f. 容量控制,根據(jù)不同用戶容量申請(qǐng)進(jìn)行容量限制。

g. 資源邏輯隔離,根據(jù)不同用戶的 Key 加上前綴,來(lái)進(jìn)行資源隔離。

h. 監(jiān)控埋點(diǎn),對(duì)于不同的接口進(jìn)行埋點(diǎn)監(jiān)控等信息。

缺點(diǎn)

Smart Client:

a. 客戶端的不成熟,影響應(yīng)用的穩(wěn)定性,提高開(kāi)發(fā)難度。

b. MultiOp 和 Pipeline 支持有限。

c. 連接維護(hù),Smart 客戶端對(duì)連接到集群中每個(gè)結(jié)點(diǎn) Socket 的維護(hù)。

Proxy:

a. 代理層多了一次轉(zhuǎn)發(fā),性能有所損耗。

b.進(jìn)行擴(kuò)容/縮容時(shí)候?qū)\(yùn)維要求較高,而且難以做到平滑的擴(kuò)縮容



redis分布式存儲(chǔ)的幾種方式 ??至今不清楚,感覺(jué)和集群的概念有點(diǎn)混


哨兵的作用就是對(duì)Redis的系統(tǒng)的運(yùn)行情況的監(jiān)控,它是一個(gè)獨(dú)立進(jìn)程。它的功能有2個(gè):

1、?監(jiān)控主數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù)是否運(yùn)行正常;

2、主數(shù)據(jù)出現(xiàn)故障后自動(dòng)將從數(shù)據(jù)庫(kù)轉(zhuǎn)化為主數(shù)據(jù)庫(kù);

但是哨兵不能動(dòng)態(tài)地?cái)U(kuò)容。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,302評(píng)論 2 89
  • 優(yōu)酷土豆的Redis服務(wù)平臺(tái)化之路 1 Redis架構(gòu)的方案經(jīng)歷階段 1.1.客戶端分片 客戶端分片: 優(yōu)點(diǎn) 不依...
    meng_philip123閱讀 1,341評(píng)論 1 8
  • 前言 R2M 是京東金融線上大規(guī)模應(yīng)用的分布式緩存系統(tǒng),目前管理的機(jī)器總內(nèi)存容量超過(guò) 60TB,近 600 個(gè) R...
    認(rèn)真期待閱讀 1,433評(píng)論 2 2
  • 為何而來(lái)? 早就聽(tīng)說(shuō)過(guò)辟谷養(yǎng)生,一直沒(méi)敢嘗試,覺(jué)得自己會(huì)受不了,對(duì)身體會(huì)不會(huì)有傷害? 出于對(duì)大海老師的信任,參加了...
    與蓉有約閱讀 542評(píng)論 0 0
  • 總是感覺(jué)時(shí)間 似流水般嘩嘩流走 總是感覺(jué)思緒 一根連著一根,如此的清晰 心里有好多的想法,總是層出不窮 就像站在 ...
    殘腦閱讀 149評(píng)論 0 0

友情鏈接更多精彩內(nèi)容