MC中間件產(chǎn)品調(diào)研(一)
DBA迫切需要的功能
front-ends
數(shù)量(連接數(shù)問題)
擴(kuò)容
縮容
HA
系統(tǒng)狀態(tài)
開發(fā)迫切需要的功能
多機(jī)房同步寫
多級(jí)cache,熱key自動(dòng)分離
再說memcache的multiget hole(無底洞)
About mcrouter
Introduction
- pronounced “mick-router”
- 5 billion requests per second
- BSD license
- easy-to-understand and easy-to-deploy
-
C++ 11
C
Ragel
Folly
fbthrift
- multiple independent threads
- configuration in JSON format
Features
-
Standard open source memcached ASCII protocol support
支持標(biāo)準(zhǔn)的ASCII
協(xié)議
-
Connection poolin
采用連接池儡嘶,減少對(duì)memcached
的連接
-
Multiple hashing schemes
采用一致性哈希
支持其他專用哈希算法
-
Prefix routing
前綴路由鳞溉,可把某些key
單獨(dú)放在一個(gè)實(shí)例上吐辙,分離壓力
-
Replicated pools
pool
之間可做復(fù)制
,讀寫分離疮鲫,(備份用)吆你,只讀某個(gè)pool
,寫全部的pool
俊犯。
Production traffic shadowing
生產(chǎn)環(huán)境引流測(cè)試妇多,可靈活設(shè)定引流方式Online reconfiguration
配置文件熱更新,自動(dòng)加載者祖,無延遲Flexible routing
沒看懂。Destination health monitoring and automatic failover
自帶健康檢查绢彤,如果出現(xiàn)問題七问,會(huì)自動(dòng)切換到其他destination
械巡,期間會(huì)不斷檢查壞掉的節(jié)點(diǎn)讥耗,如果恢復(fù),會(huì)切回來挣磨。
-
Cold cache warm up
增加節(jié)點(diǎn)不會(huì)以冷的cache
響應(yīng)客戶端呜达,會(huì)按照下面的邏輯進(jìn)行warmup
粟耻。
-
Broadcast operations
指定關(guān)鍵字霜威,可進(jìn)行廣播操作,如達(dá)到多寫(有問題)大猛、多刪除的目的。
-
Reliable delete stream
通過文件落地,達(dá)到可靠性刪除唠亚。
-
Multi-cluster support
多個(gè)cluster
配置簡(jiǎn)單。
Rich stats and debug commands
豐富的系統(tǒng)狀態(tài),JSON究珊。
“Which host would a particular request go to?”Quality of service
可以進(jìn)行限流。Large values
大的item
進(jìn)行拆分取试,重組。Multi-level caches
優(yōu)先查找local cache
猿棉,如果沒有弊琴,會(huì)查詢remote cache
并把結(jié)果寫到local cache
。IPv6 support
SSL support
Multi-threaded architecture
Reference
Introducing mcrouter: A memcached protocol router for scaling memcached deployments
翻譯:Mcrouter:基于 Memcached協(xié)議的緩存層流量管理工具
[PDF]Scaling Memcache at Facebook
使用
- 安裝
- 配置
- 測(cè)試
問題
- 如何監(jiān)控
mcrouter
總結(jié)
- 是否滿足平臺(tái)對(duì)于mc的需求
- 對(duì)比
Twemproxy