Java分散式鍵-值快取系統Voldemort
本文由碼農網 – 小峰原創,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
Voldemort是一款基於Java開發的分散式鍵-值快取系統,像JBoss Cache一樣,Voldemort同樣支援多臺伺服器之間的快取同步,以增強系統的可靠性和讀取效能。
Voldemort的特點
- 快取資料可以自動在各個伺服器節點之間同步複製。
- 每一個伺服器的快取資料被橫向分割,因此是總快取的一個子集。
- 嚴格保持快取的一致性。
- 提供伺服器當機快速恢復方案。
- 可配置的資料儲存引擎。
- 可配置的資料序列化方式。
- 每一個資料項都有版本標識,用來保證資料的完整性和可用性。
- 每一個快取節點都是獨立的,因此任何一個節點的故障都不會影響系統的正常執行。
Voldemort鍵-值原理圖
Voldemort邏輯架構圖
Voldemort物理架構圖
Voldemort的配置方式
叢集配置檔案:
<cluster> <!-- The name is just to help users identify this cluster from the gui --> <name>mycluster</name> <zone> <zone-id>0</zone-id> <proximity-list>1</proximity-list> <zone> <zone> <zone-id>1</zone-id> <proximity-list>0</proximity-list> <zone> <server> <!-- The node id is a unique, sequential id beginning with 0 that identifies each server in the cluster--> <id>0</id> <host>vldmt1.prod.linkedin.com</host> <http-port>8081</http-port> <socket-port>6666</socket-port> <admin-port>6667</admin-port> <!-- A list of data partitions assigned to this server --> <partitions>0,1,2,3</partitions> <zone-id>0</zone-id> </server> <server> <id>1</id> <host>vldmt2.prod.linkedin.com</host> <http-port>8081</http-port> <socket-port>6666</socket-port> <admin-port>6667</admin-port> <partitions>4,5,6,7</partitions> <zone-id>1</zone-id> </server> </cluster>
資料儲存方式配置檔案:
<stores> <store> <name>test</name> <replication-factor>2</replication-factor> <preferred-reads>2</preferred-reads> <required-reads>1</required-reads> <preferred-writes>2</preferred-writes> <required-writes>1</required-writes> <persistence>bdb</persistence> <routing>client</routing> <routing-strategy>consistent-routing</routing-strategy> <key-serializer> <type>string</type> <schema-info>utf8</schema-info> </key-serializer> <value-serializer> <type>json</type> <schema-info version="1">[{"id":"int32", "name":"string"}]</schema-info> <compression> <type>gzip<type> </compression> </value-serializer> </store> </stores>
Voldemort的使用示例
value = store.get(key) store.put(key, value) store.delete(key)
總結
Voldemort是分散式快取系統,因此可以應用在中大型的軟體專案中,效能方面也都還不錯。
本文連結:http://www.codeceo.com/article/voldemort-java-key-value-catch.html
本文作者:碼農網 – 小峰
[ 原創作品,轉載必須在正文中標註並保留原文連結和作者等資訊。]
相關文章
- 分散式系統中有哪些快取?分散式快取
- 分散式快取系統之Memcached分散式快取
- 分散式系統快取系列一 認識快取分散式快取
- 解析分散式系統的快取設計分散式快取
- 【系統設計】分散式鍵值資料庫分散式資料庫
- 用Java寫一個分散式快取——快取管理Java分散式快取
- 分散式快取分散式快取
- 理解分散式系統中的快取架構(下)分散式快取架構
- 理解分散式系統中的快取架構(上)分散式快取架構
- Cacheonix:Java分散式叢集快取框架Java分散式快取框架
- Java 開源分散式快取框架EhcacheJava分散式快取框架
- 分散式快取方案分散式快取
- redis→分散式快取Redis分散式快取
- 聊聊分散式快取分散式快取
- 大型分散式網站架構:快取在分散式系統中的應用分散式網站架構快取
- 聊聊本地快取和分散式快取快取分散式
- EhCache 分散式快取/快取叢集分散式快取
- 詳談分散式系統快取的設計細節分散式快取
- 用Java寫一個分散式快取——快取淘汰演算法Java分散式快取演算法
- 分散式系統關注點(18)——「快取穿透」和「快取雪崩」到底啥區別?分散式快取穿透
- 分散式系統關注點——先寫DB還是「快取」?分散式快取
- 分散式系統關注點——360°全方位解讀「快取」分散式快取
- Alluxio在多級分散式快取系統中的應用UX分散式快取
- 深入理解分散式系統中的快取架構(下)分散式快取架構
- 分散式快取擊穿分散式快取
- SmartSql Redis 分散式快取SQLRedis分散式快取
- 分散式快取NCache使用分散式快取
- Redis——快取穿透、快取擊穿、快取雪崩、分散式鎖Redis快取穿透分散式
- 分散式快取 - 快取簡介,常用快取演算法分散式快取演算法
- 揭祕!雙11萬億流量下的分散式快取系統 Tair分散式快取AI
- 分散式快取 - 概念解釋分散式快取
- 雲上的分散式快取分散式快取
- 分散式之快取擊穿分散式快取
- 關於分散式快取memcache分散式快取
- k04_分散式快取分散式快取
- 分散式快取基礎教程分散式快取
- 系統快取全解析7:第三方分散式快取解決方案 Memcached和Cacheman快取分散式
- 讀構建可擴充套件分散式系統:方法與實踐05分散式快取套件分散式快取