惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
WordPress大学
WordPress大学
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
博客园 - 司徒正美
J
Java Code Geeks
博客园 - 叶小钗
美团技术团队
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Cloudflare Blog
腾讯CDC
人人都是产品经理
人人都是产品经理
T
Tailwind CSS Blog
I
InfoQ
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
博客园_首页
D
Docker
U
Unit 42
Attack and Defense Labs
Attack and Defense Labs
C
CERT Recently Published Vulnerability Notes
Scott Helme
Scott Helme
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Help Net Security
A
About on SuperTechFans
L
Lohrmann on Cybersecurity
Recent Announcements
Recent Announcements
P
Privacy International News Feed
P
Proofpoint News Feed
F
Full Disclosure
G
Google Developers Blog
小众软件
小众软件
Security Latest
Security Latest
The GitHub Blog
The GitHub Blog
T
The Exploit Database - CXSecurity.com
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LangChain Blog
Vercel News
Vercel News

博客园 - tmfc

有怪兽,有怪兽 - 通过MONSTER OF COMPRESSION选择压缩算法 LightCloud -- 分布式键-值数据库 [翻译]更有效的使用垃圾收集– 第一部分 企业架构应用模式读书笔记(四) 企业架构应用模式读书笔记(三)下 企业架构应用模式读书笔记(三)上 企业应用架构模式读书笔记(二) 企业应用架构模式读书笔记(一) 对[解耦的故事]的一些补充 解耦的故事(二)-松耦合时代的来临 解耦的故事(一)-tmfc的开关 [翻译]了解ASP.NET底层架构系列文章(包括Word下载) [翻译]了解ASP.NET底层架构(完) [翻译]了解ASP.NET底层架构(八) [翻译]了解ASP.NET底层架构(七) [翻译]了解ASP.NET底层架构(六) [翻译]了解ASP.NET底层架构(五) [翻译]了解ASP.NET底层架构(四) [翻译]了解ASP.NET底层架构(三)
LightCloud设计特点
tmfc · 2009-03-08 · via 博客园 - tmfc

Hash环

LightCloud使用一致性Hash算法(Consistent Hashing),好处就是当添加新节点的时候不用移动大量数据了。还不知道为什么?Consistent Hashing介绍

一致性Hash算法也不算什么新鲜玩意儿了,凡是分布式系统都不免能见到它的身影,那LightCloud特别之处在哪里呢?好,我们广告之后告诉你……

(可恶的广告)

好,广告之后精彩继续

为了提高可用性,LightCloud使用了数据复制,在正角上场之前,先上一个暖场的,这个暖场的来头还挺大Amazon's Dynamo,先看大屏幕,

图上说了,Key A对应的值会复制三份,分布放在A,B,C节点上(原因不用说了吧),这样做的后果就是系统比较复杂,特别是加入新节点之后,由于Amazon's Dynamo系统本身就设计的比较复杂,这里就不细展开了,有兴趣的同学可以参考链接地址中的论文。

主角上场,主角本身设计的比较简单,还是先看大屏幕

怎么样,有没有看出什么道道来,节点本身复制了,这里是复制了两份,当然你也可以复制三份,第三份甚至可以放在另外的数据中心以提供更高的可靠性。LightCloud的复制用得是底层TokyoTyrant的复制功能,很环保。

解决了复制的问题,还有一个问题就是加入新节点是数据转移的问题,这张图困扰了我很久,大家先仔细品味一下

本来挺简单的一个环,现在变成了两个,上面那个环呢只保存地址,下面那个环才是保存了真正的数据,这样做有什么好处呢?文档也比较简略,没有说清楚,我和作者amix沟通之后,他答应在后续的文档中详细加以说明,留待以后再来分析吧。

和TokyoTyrant通讯

可以通过两种方式和TokyoTyrant通讯:

  •  
    • 使用Tyrant的二进制协议
    • 使用Memcached的协议

默认使用前者,因为是二进制的,而且支持调用Lua扩展,当然如果你愿意,也可以使用Memcached的协议。