重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
這篇文章主要介紹“memcached cluster多租戶的方法是什么”,在日常操作中,相信很多人在memcached cluster多租戶的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”memcached cluster多租戶的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)公司專注于廣安企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。廣安網(wǎng)站建設(shè)公司,為廣安等地區(qū)提供建站服務(wù)。全流程按需定制開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
由于memcached 不支持多租戶,不支持多個(gè)用戶使用同一個(gè)緩存,并且memcached之間也沒有任何交互操作,所以自定義開發(fā)memcached 的多租戶的集群成了必要的選擇,由于目前網(wǎng)絡(luò)上沒有太好的支持多租戶的memcahced集群方案,所以我自己開發(fā)了一套memcahced集群,支持用戶名和密碼
架構(gòu)說明:
McProxy: 所有外部請求的入口,用戶訪問memcached集群的入口, McProxy中維護(hù)一個(gè)路由表map,路由表結(jié)構(gòu)如下: one namespace -> a memcached cluster , McProxy 通過namespace(用戶名)來區(qū)分不同的集群
Config Servers: Config servers分為Master, Slave, Heatbeat三種角色的機(jī)器, Heatbeat屬于Slave機(jī)器中的一種,Slave機(jī)器之間會互相檢測健康狀態(tài). Heatbeat機(jī)器定時(shí)檢測Master機(jī)器的狀態(tài), 如果Heatbeat機(jī)器down其他的slave機(jī)器采用搶占模式,自封Heatbeat角色,并開始重新檢測Master機(jī)器.
Master機(jī)器會維護(hù)所有的memcached集群和McProxy的路由表, Master會定時(shí)的檢測所有memcached集群的狀態(tài), 如果有memcached集群的server down,Master機(jī)器會通知所有McProxy去更新路由表. 如果Master機(jī)器down, Heatbeat機(jī)器會指定其他有效的Slave機(jī)器,自封Master角色,并開始承擔(dān)Master機(jī)器的工作
Memcached Cluster: Memcached cluster機(jī)器之間是不會互相通信, 但是也會有一個(gè)Master多個(gè)Slave的角色, 當(dāng)有寫的請求, McProxy 先將數(shù)據(jù)寫入memcached Master機(jī)器, 然后并發(fā)的備份數(shù)據(jù)到其他的memcached Slave機(jī)器, 當(dāng)有讀的請求, 采用hash一致性算法,隨機(jī)選擇一個(gè)cache讀取數(shù)據(jù)
架構(gòu)簡易圖如下:
到此,關(guān)于“memcached cluster多租戶的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!