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
本文作者: 小峰
相关推荐
Voldemort 是一个分布式数据库,它是亚马逊 Dynamo... 这并不是使其成为所有应用程序的理想选择,但确实提供了独特的优势,例如能够水平读写规模,以及将内存缓存与存储系统结合在一起的能力,因此不需要单独的缓存层。
No Sql-RubiS框架的Voldemort实现
只使用内存作缓存,不使用持久化。 启动时开启 jmx 6650 端口。
由于Spotify登录系统的新变化,该程序目前还没有用。 因此,它已被存档。 SpotifyChecker Mass Spotify Accounts Checker v0.1(于19/02/2019 01.20 IST上传) Mass Spotify Accounts Checker v0.2(于19/02/2019 17...
voldemort,亚马逊发电机的开源克隆。.zip概述
这个扩展用三个随机值之一代替网站中的Voldemort。 用“您不知道的人”,“他不愿透露姓名的人”或“黑暗之王”的随机选择替换伏地魔或伏地魔勋爵(包括所有格选项)。 支持语言:English (United States)
内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等 Key 指向 Value 的键值对,通常用HashTable来实现 查找速度快 数据无结构化,通常只被当作字符串或者二进制数据 列存储数据库 Cassandra, ...
值的块压缩以及磁盘上的举重模式提供了紧凑性。 汉克是完全分布式的并且具有容错能力。 数据被一致地散列并自动重新分配。 它可以水平扩展到具有数十亿或数万亿记录的TB和PB大小的数据集。 为了简化和提高性能,...
Derive the anagram, “I am Lord Voldemort” using linguistical sieves Plan your parents’ secure retirement with Monte Carlo simulation Save the sorceress Zatanna from a stabby death using palingrams ...
语言:Français Racistes,haineux等人奠定了女同性恋者的地位。 Le nom de Vous-Savez-Qui ne s'affichera加上avec cette扩展名。
Shuttle:平台即服务 (PaaS) 和云计算中... 支持快照的修改后的 voldemort 实现: PaaS 的演示应用程序: 一个分布式(主从)HTTP 基准测试工具,它从文件中读取 HTTP 请求并具有简化的 API: 随时提出有关它的问题
(6)Voldemort:具备数据备份和分布式键值存储系统。 (7)Aerospike:Aerospike数据库是⼀个键值存储,⽀持混合内存架构,通过强⼀致性和可调⼀致性保证数据的完整性。 3、⽂档数据库:MongoDB、CouchDB、...
对于Hadoop + SQL,Splout是什么,对于Hadoop +键/值,Voldemort或Elephant DB是什么。 Splout提供了一个只读的分区SQL视图,该视图由Hadoop生成并建立索引。 简而言之: 有关最新文档和示例,请访问编译的快速步骤...
Presentation of http://www.infoq.com/presentations/Social-Networks-NoSQL
1. 序 2. 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 不要删除数据 RAM是硬盘,硬盘是...Voldemort Dynomite Kai 未分类 Skynet Drizzle 比较 可扩展性 数据和查询模型 持久化设计 5. 应用篇 eBay 架构经验
Voldemort271.github.io 您好,这将是我的主页。 我将链接我制作的所有程序。
基于lucene的实时搜索引擎zoie 实时搜索成为了目前搜索引擎发展的重要方向。越来越多的开发者开始关注...* Voldemort – Distributed key-value storage http://project-voldemort.com/ Also see: * No Related Post
关于哈利·波特的魔法世界,您应该知道的一切 霍格沃茨的四间房子是什么? 霍格沃茨共有4所房子:格兰芬多,赫奇帕奇,拉文克劳和斯莱特林。 格兰芬多 “您可能属于格兰芬多, 哪里有勇敢的人, 他们的勇气,神经和...