<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          為什么 Redis 集群要使用反向代理? 看這篇就明白了!

          共 1725字,需瀏覽 4分鐘

           ·

          2022-03-10 22:10

          程序員的成長之路
          互聯(lián)網(wǎng)/程序員/技術(shù)/資料共享?
          關(guān)注


          閱讀本文大概需要 2.8 分鐘。

          來自:www.cnblogs.com/Courage129/p/14351545.html

          如果沒有反向代理,一臺(tái)Redis可能需要跟很多個(gè)客戶端連接:
          圖片
          看著是不是很慌?看沒關(guān)系,主要是連接需要消耗線程資源,沒有代理的話,Redis要將很大一部分的資源用在與客戶端建立連接上,redis的高可用和可擴(kuò)展無論是自帶的Redis Sentinel還是Redis Cluster都要求客戶端進(jìn)行額外的支持,而目前基本上沒有合適的客戶端能夠做這些事情,客戶端來做這些事情也并不合適,它會(huì)讓維護(hù)變得特別困難。
          因此在客戶端和redis服務(wù)端之間加一層代理成了一種理想的方案,代理屏蔽后端Redis實(shí)現(xiàn)細(xì)節(jié)向客戶端提供redis服務(wù),可以完美的解決Redis的高可用和擴(kuò)展性問題,同時(shí)代理的引入也使得Redis維護(hù)變得更加簡單。
          于是乎,有了代理:

          如何使用代理?

          很簡單,將請求連接到調(diào)度代理器上,由Proxy負(fù)責(zé)將請求轉(zhuǎn)發(fā)到后面的Redis服務(wù)實(shí)例,圖示:
          圖片
          又有了新的問題,Proxy掛了可咋整?
          所以Proxy又需要做集群,甚至前面可以加一層負(fù)載均衡,負(fù)載均衡嘛,單機(jī)也存在單點(diǎn)故障等問題,一個(gè)Director肯定不行,搞不好又掛了,所以整一個(gè)主備,備機(jī)通過KeepAlived來檢測主LVS健康狀況,出了問題頂上去。
          圖片

          Redis代理插件

          Redis代理插件有很多,這兒簡單介紹幾款
          predixy高性能全特征redis代理,支持Redis Sentinel和Redis Cluster
          twemproxy快速、輕量級(jí)memcached和redis代理
          codisredis集群代理解決方案
          redis-cerberusRedis Cluster代理

          代理詳細(xì)功能對比

          特性predixytwemproxycodisredis-cerberus
          高可用Redis Sentinel或Redis Cluster一致性哈希Redis SentinelRedis Cluster
          可擴(kuò)展Key哈希分布或Redis ClusterKey哈希分布Key哈希分布Redis Cluster
          開發(fā)語言C++CGOC++
          多線程
          事務(wù)Redis Sentinel模式單Redis組下支持不支持不支持不支持
          BLPOP/BRPOP/BLPOPRPUSH支持不支持不支持支持
          Pub/Sub支持不支持不支持支持
          Script支持load不支持不支持不支持
          Scan支持不支持不支持不支持
          Select DB支持不支持支持Redis Cluster只有一個(gè)DB
          Auth支持定義多個(gè)密碼,給予不同讀寫及管理權(quán)限和Key訪問空間不支持同redis不支持
          讀從節(jié)點(diǎn)支持,可定義豐富規(guī)則讀指定的從節(jié)點(diǎn)不支持支持,簡單規(guī)則支持,簡單規(guī)則
          多機(jī)房支持支持,可定義豐富規(guī)則調(diào)度流量不支持有限支持有限支持
          統(tǒng)計(jì)信息豐富豐富豐富簡單
          簡單來說,predixy既支持Redis Sentinel也支持Redis Cluster
          • 后端為Redis Sentinel監(jiān)控的一組Redis,功能完全等同于原始Redis
          • 后端為Redis Sentinel監(jiān)控的多組Redis,則有部分功能受限
          • 后端為Redis Cluster,功能完全等同于Redis Cluster

          推薦閱讀:

          SpringBoot 如何統(tǒng)計(jì)、監(jiān)控 SQL運(yùn)行情況?

          Spring Boot 如何使用攔截器、過濾器、監(jiān)聽器?

          互聯(lián)網(wǎng)初中高級(jí)大廠面試題(9個(gè)G)

          內(nèi)容包含Java基礎(chǔ)、JavaWeb、MySQL性能優(yōu)化、JVM、鎖、百萬并發(fā)、消息隊(duì)列、高性能緩存、反射、Spring全家桶原理、微服務(wù)、Zookeeper、數(shù)據(jù)結(jié)構(gòu)、限流熔斷降級(jí)......等技術(shù)棧!

          ?戳閱讀原文領(lǐng)取!? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??朕已閱?

          瀏覽 35
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷一区二区三区 | 91做爱视频 | 老熟妇仑乱一区二区av | 日本黄色片网站一二 | 免费黄视频网站大全免费 |