為什么 Redis 集群要使用反向代理? 看這篇就明白了!
作者:等不到的口琴
鏈接:www.cnblogs.com/Courage129/p/14351545.html
如果沒(méi)有反向代理,一臺(tái)Redis可能需要跟很多個(gè)客戶端連接:

如何使用代理?
很簡(jiǎn)單,將請(qǐng)求連接到調(diào)度代理器上,由Proxy負(fù)責(zé)將請(qǐng)求轉(zhuǎn)發(fā)到后面的Redis服務(wù)實(shí)例,圖示:

又有了新的問(wèn)題,Proxy掛了可咋整?
想成為架構(gòu)師,這份架構(gòu)師圖譜建議看看,少走彎路。

Redis代理插件
Redis代理插件有很多,這兒簡(jiǎn)單介紹幾款
| predixy | 高性能全特征redis代理,支持Redis Sentinel和Redis Cluster |
|---|---|
| twemproxy | 快速、輕量級(jí)memcached和redis代理 |
| codis | redis集群代理解決方案 |
| redis-cerberus | Redis Cluster代理 |
代理詳細(xì)功能對(duì)比
| 特性 | predixy | twemproxy | codis | redis-cerberus |
|---|---|---|---|---|
| 高可用 | Redis Sentinel或Redis Cluster | 一致性哈希 | Redis Sentinel | Redis Cluster |
| 可擴(kuò)展 | Key哈希分布或Redis Cluster | Key哈希分布 | Key哈希分布 | Redis Cluster |
| 開(kāi)發(fā)語(yǔ)言 | C++ | C | GO | C++ |
| 多線程 | 是 | 否 | 是 | 是 |
| 事務(wù) | Redis Sentinel模式單Redis組下支持 | 不支持 | 不支持 | 不支持 |
| BLPOP/BRPOP/BLPOPRPUSH | 支持 | 不支持 | 不支持 | 支持 |
| Pub/Sub | 支持 | 不支持 | 不支持 | 支持 |
| Script | 支持load | 不支持 | 不支持 | 不支持 |
| Scan | 支持 | 不支持 | 不支持 | 不支持 |
| Select DB | 支持 | 不支持 | 支持 | Redis Cluster只有一個(gè)DB |
| Auth | 支持定義多個(gè)密碼,給予不同讀寫(xiě)及管理權(quán)限和Key訪問(wèn)空間 | 不支持 | 同redis | 不支持 |
| 讀從節(jié)點(diǎn) | 支持,可定義豐富規(guī)則讀指定的從節(jié)點(diǎn) | 不支持 | 支持,簡(jiǎn)單規(guī)則 | 支持,簡(jiǎn)單規(guī)則 |
| 多機(jī)房支持 | 支持,可定義豐富規(guī)則調(diào)度流量 | 不支持 | 有限支持 | 有限支持 |
| 統(tǒng)計(jì)信息 | 豐富 | 豐富 | 豐富 | 簡(jiǎn)單 |
簡(jiǎn)單來(lái)說(shuō),predixy既支持Redis Sentinel也支持Redis Cluster
后端為Redis Sentinel監(jiān)控的一組Redis,功能完全等同于原始Redis 后端為Redis Sentinel監(jiān)控的多組Redis,則有部分功能受限 后端為Redis Cluster,功能完全等同于Redis Cluster
評(píng)論
圖片
表情
