Consul的快取模式

2021-09-24 11:40:26 字數 779 閱讀 8654

作為分布式系統,當集群節點增長到數千時,不可避免的出現效能下降的問題。而consul本身提供了一些快取模式,可以減少這種影響。

一致性模式

嚴格的說,這個不是乙個快取模式。

預設情況下,所有來自於agent的請求,都會由leader來處理。這樣導致leader的負擔特別重。如果把一致性模式設定為stale,那麼所有的server節點都會處理請求,就可以大幅降低leader的壓力。缺點是,只有leader的資料是最新的,其他server返回的資料可能會是過時的資料。但是,這個過時的時間通常也是毫秒級的。

簡單快取

簡單快取通過http請求的 cache-control 來控制,只有部分介面提供支援。介面文件裡會有明確說明是否支援。

通過max-age來指定過期時間,通過stale-if-error來指定server異常時的緩衝時間。

server正常的情況下,max-age時間內的資料會直接返回,超出max-age時agent會向server查詢新資料。

如果server崩潰了,那麼stale-if-error就會產生作用,在這段時間裡,agent仍然會返回快取的資料。stale-if-error的值應該遠遠大於max-age的值。

自動重新整理快取

這個是最強大的快取,他會監控server的資料變化,自動跟server保持同步。如果server的資料沒有變化,那麼快取就會一直保持,如果server資料有變化,則會自動重新整理快取。所以實際上,這個快取和server的資料是一致的。

server不可用時就會持續使用快取資料,這個時間可以長達數天,足夠server集群恢復工作了。

Ehcache快取模式

ehcache快取模式 簡介 快取有多種不同的快取模式。以下是ehcache支援的快取模式 直接操作 direct manipulation 推送模式 pull through 自填充 self populating 直接操作 direct manipulation 你可以通過方法cache.put...

consul和eureka的區別

consul和eureka為服務註冊中心,它們一般是集群部署的 1.consul提供了cp一致性 分割槽容錯性,對於consul集群來說,consul註冊中心分為leader和fellow,服務註冊和發現會落地到leader去提供,當乙個專案a想要註冊到consul時,leader需要保證a服務註冊...

consul的安裝和測試

consul的安裝 一台伺服器端,多台客戶端。服務端 nohup consul agent server bootstrap data dir home hanxt workspace data consul bind 192.168.220.139 客戶端 nohup consul agent d...