1. 程式人生 > >十一、Codis集群的搭建與使用

十一、Codis集群的搭建與使用

linux

一、簡介

Codis是一個分布式的Redis解決方案,對於上層的應用來說,連接Codis Proxy和連接原生的Redis Server沒有明顯的區別(不支持的命令列表),上層應用可以像使用單機的Redis一樣使用,Codis底層會處理請求的轉發,不停機的數據遷移等工作,所有後邊的一切事情,對於前面客戶端來說是透明的,可以簡單的認為後邊連接是一個內存無限大的Redis服務

技術分享圖片

二、組件說明

codis-proxy : 是客戶端連接的Redis代理服務,codis-proxy 本身實現了Redis協議,表現得和一個原生的Redis沒什麽區別(就像Twemproxy),對於一個業務來說,可以部署多個codis-proxy,codis-proxy本身是沒狀態的。

codis-config :是Codis的管理工具,支持包括,添加/刪除Redis節點,添加/刪除Proxy節點,發起數據遷移等操作,codis-config本身還自帶了一個http server,會啟動一個dashboard,用戶可以直接在瀏覽器上觀察Codis集群的狀態。
codis-server:是Codis項目維護的一個Redis分支,基於2.8.13開發,加入了slot的支持和原子的數據遷移指令,Codis上層的codis-proxy和codis-config只能和這個版本的Redis交互才能正常運行。
ZooKeeper :用來存放數據路由表和codis-proxy節點的元信息,codis-config發起的命令都會通過ZooKeeper同步到各個存活的codis-proxy
說明:Codis支持按照Namespace區分不同的產品,擁有不同的product name 的產品,各項配置都不會沖突。

技術分享圖片

十一、Codis集群的搭建與使用