標籤:style color io 使用 strong 資料 sp 問題 on
Redis多機功能目的:以單台Redis伺服器過渡到多台Redis伺服器
Redis單機在生產環境中存在的問題
1、記憶體容量不足
Redis使用記憶體來存書資料庫中的資料,但是對於一台機器來說,硬體的記憶體容量是有限的,當我們需要儲存的資料量超過機器的記憶體數量時,一台伺服器就沒辦法滿足我們的要求;
比如:要儲存128G的資料,但是機器最大隻支援64G記憶體;
2、處理能力不足
和記憶體數量限制類似。由於伺服器硬體的限制(機器配置/網路限制等),一台伺服器能夠處理的命令請求數量也是有限的,當我們需要處理的命令請求數量超過機器能夠處理的命令請求數量時,一台伺服器就沒辦法滿足我們的要求了;
例子:每秒要處理20W次請求,但機器每秒鐘只能處理10W次請求;
解決方案
為瞭解決記憶體容量不足和處理能力不足的問題,我們需要使用Redis的多機功能,這些功能的核心目的是將整個資料庫分散部署在多台伺服器上,並使用多台伺服器來處理命令請求。
例如:
Redis單機模式:ClientA/ClientB/ClientC都請求ServerA;
Redis多機模式:ClientA請求ServerA;ClientB請求ServerB;ClientC請求ServerC;
將系統從一台伺服器擴充到三台伺服器,系統儲存的資料量和處理的命令請求數量都會有所提高;
Redis多機功能具體實現
Redis提供的多機功能包括:
1、複製(replication):擴充系統處理請求的能力;
2、Sentinel:為系統提供高可用特性,減少故障停機出現;
3、叢集(Cluster):擴充系統的資料庫容量以及系統處理讀寫請求的能力,並提供高可用特性;
4、twemproxy:twitter開源的一個Proxy 伺服器,支援Redis和Memcached協議,可以擴充系統的資料庫容量以及系統處理讀寫請求的能力;
Redis多機功能介紹