Codis是豌豆莢使用Go和C語言開發、以代理的方式實現的1個Redis散布式集群解決方案,且完全兼容Twemproxy。Twemproxy對上1層的利用來講, 連接Codis Proxy(Redis代理服務)和連接原生的Redis服務器沒有明顯的區分,上1層利用能夠像使用單機的 Redis1樣對待。Codis底層會處理要求的轉發、不停機的數據遷移等工作, 所有底層的1切處理, 對客戶端來講是透明的。總之,可以簡單的認為后臺連接的是1個內存無窮大的Redis服務。Codis遵守MIT開源協議發布,更多關于Codis的信息請登錄其在GitHub的主頁查看。
Codis 是1個散布式 Redis 解決方案, 對上層的利用來講, 連接到 Codis Proxy 和連接原生的 Redis Server 沒有明顯的區分 (不支持的命令列表), 上層利用可以像使用單機的 Redis 1樣使用, Codis 底層會處理要求的轉發, 不停機的數據遷移等工作, 所有后邊的1切事情, 對前面的客戶端來講是透明的, 可以簡單的認為后邊連接的是1個內存無窮大的 Redis 服務.
Codis 由4部份組成:
Codis Proxy (codis-proxy)
Codis Manager (codis-config)
Codis Redis (codis-server)
ZooKeeper
架構圖:
項目地址:
https://github.com/wandoulabs/codis
中文說明文檔:
https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md
Redis 開源集群方案:
http://www.infoq.com/cn/news/2014/11/open-source-redis-cache
Redis 3.0 rc4已發布了,也是1種方案可以研究下,線上系統不建議使用。
參考文檔:
https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md#build-codis-proxy