分布式Ehcache Terracotta使用
本文提到的不同集群指的是不同數據中心. 同一數據中心的網絡可以看成LAN, 不同數據中心之間的網絡指WAN.
分布式Ehcache集群間數據同步
EhCache 是進程中的緩存系統,一旦將應用部署在集群環境中,每一個節點維護各自的緩存數據,當某個節點對緩存數據進行更新,這些更新的數據無法在其它節點中共享, 這不僅會降低節點運行的效率,而且會導致數據不同步的情況發生。使用Terracotta Server可以實現Ehcache的集群. 而針對集群之間數據同步的問題, Terracotta提供了WAN replication的方案.
使用時只需要在Ehcache配置文件配置即可, 然后系統會自動在不同集群之間同步數據. 主要特性:
-
消息緩沖
-
解決沖突
-
失效恢復
-
使用ActiveMQ,支持topic,queue
-
異步通信等等
數據同步的范圍:
-
put
-
remove
-
removeAll
應用場景一
不同集群使用同一個Active Terracotta Server Array,然后保證Passive Terracotta Server Array的數據同步. 這種方式對集群之間的網絡要求較高.
使用場景二
不同的集群擁有獨自的TSA, 但同步自身TSA的同時,還需要同步其它集群的TSA. 這種方式線路適合寫操作比較少的應用.
使用場景三
自定義一個replicator,從本地集群中提取更新的數據,以消息的形式發送到其它結點上. 如:在集群中使用基于ActiveMQ(AMQ)的消息隊列,實現不同集群數據的同步. 這種方式實現起來更有彈性,高吞吐量,低等等. 寫操作快. 只需要實現一個message bus.
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!