redisDB是一個快速輕量的key-value資料庫,因為可以無狀態的執行,我個人認為非常適合運行在k8s上。
redis本身是一套將資料儲存於記憶體的資料庫,如果不透過RDB或是AOF的方式,資料就不會長久儲存,通常會將redis做為cache server,讓短期使用資料能夠快速存取,但是如果不幸發生資料存滿的情況就會變成read only的狀況,因此他的evictionPolicy使用對於可用性算是滿重要的。
而大部分在使用redis的架構會選擇
3主3從常見架構圖
透過redis operator的方式同樣是使用3主3從的架構
keyDB是redis切分出來的一個分支,會特別提到使用主要是因為在某些情境下他的速度更為快速的關係,與redis上有幾項差異為keyDB為多執行序(如果用redis 6以上也是多執行緒)、keyDB不透過RDB或是AOF儲存,不過使用上還是要評估是否符合業務需求。
KeyDB cluster 有一個強調的特性為active replication,他可以主動複製訊息,主動複製可以減少master節點的loading,同時因為keydb完全支援redis api的關係,主動複製也可以對redis做執行呢!