歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> memcached cluster多租戶方案

memcached cluster多租戶方案

日期:2017/2/27 15:46:35   编辑:Linux教程
由於memcached 不支持多租戶,不支持多個用戶使用同一個緩存,並且memcached之間也沒有任何交互操作,所以自定義開發memcached 的多租戶的集群成了必要的選擇,由於目前網絡上沒有太好的支持多租戶的memcahced集群方案,所以我自己開發了一套memcahced集群,支持用 戶名和密碼

架構說明:
McProxy: 所有外部請求的入口,用戶訪問memcached集群的入口, McProxy中維護一個路由表map,路由表結構如下: one namespace -> a memcached cluster , McProxy 通過namespace(用戶名)來區分不同的集群 Config Servers: Config servers分為Master, Slave, Heatbeat三種角色的機器, Heatbeat屬於Slave機器中的一種,Slave機器之間會互相檢測健康狀態. Heatbeat機器定時檢測Master機器的狀態, 如果Heatbeat機器down其他的slave機器采用搶占模式,自封Heatbeat角色,並開始重新檢測Master機器.

Master機器會維護所有的memcached集群和McProxy的路由表, Master會定時的檢測所有memcached集群的狀態, 如果有memcached集群的server down,Master機器會通知所有McProxy去更新路由表. 如果Master機器down, Heatbeat機器會指定其他有效的Slave機器,自封Master角色,並開始承擔Master機器的工作

Memcached Cluster: Memcached cluster機器之間是不會互相通信, 但是也會有一個Master多個Slave的角色, 當有寫的請求, McProxy 先將數據寫入memcached Master機器, 然後並發的備份數據到其他的memcached Slave機器, 當有讀的請求, 采用hash一致性算法,隨機選擇一個cache讀取數據

架構簡易圖如下:

Copyright © Linux教程網 All Rights Reserved