说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

原作者使用Go开发memcached替代版,现已扎寨谷歌多个项目

HTML文档下载 WORD文档下载 PDF文档下载
memcached作者Brad Fitzpatrick用Go开发了前者的替代版,现已在Google多个生产环境中投入使用。对比老版本memcached,groupcache去掉了缓存有效期及缓存回收机制,随之而来的是通过自动备份来均衡负载。

groupcache是使用Go语言编写的缓存及缓存过滤库,作为memcached许多场景下的替代版本。相关的API文档和实例请猛戳 package groupcache。

对比原始memcached

首先,groupcache与memcached的相似之处:通过key分片,并且通过key来查询响应的peer。

其次,groupcache与memcached的不同之处:

1. 不需要对服务器进行单独的设置,这将大幅度减少部署和配置的工作量。groupcache既是客户端库也是服务器库,并连接到自己的peer上。

2. 具有缓存过滤机制。众所周知,在memcached出现“Sorry,cache miss(缓存丢失)”时,经常会因为不受控制用户数量的请求而导致数据库(或者其它组件)产生“惊群效应(thundering herd)”;groupcache会协调缓存填充,只会将重复调用中的一个放于缓存,而处理结果将发送给所有相同的调用者。

3. 不支持多个版本的值。如果“foo”键对应的值是“bar”,那么键“foo”的值永远都是“bar”。这里既没有缓存的有效期,也没有明确的缓存回收机制,因此同样也没有CAS或者Increment/Decrement。

4. 基于上一点的改变,groupcache就具备了自动备份“超热”项进行多重处理,这就避免了memcached中对某些键值过量访问而造成所在机器CPU或者NIC过载。

5. 当下只支持Go

运行机制

简而言之,groupcache查找一个Get(“foo”)的过程类似下面的情景(机器#5上,它是运行相同代码N台机器集中的一台):

1.  key“foo”的值是否会因为“过热”而储存在本地内存,如果是,就直接使用

2. key“foo”的值是否会因为peer #5是其拥有者而储存在本地内存,如果是,就直接使用

3. 首先确定key “fool”是否归属自己N个机器集合的peer中,如果是,就直接加载。如果有其它的调用者介入(通过相同的进程或者是peer的RPC请求,这些请求将会被阻塞,而处理结束后,他们将直接获得相同的结果)。如果不是,将key的所有者RPC到相应的peer。如果RPC失败,那么直接在本地加载(仍然通过备份来应对负载)。

采用情况

groupcache已经在dl.Google.com、Blogger、Google Code、Google Fiber、Google生产监视系统等项目中投入使用。

更多展示:Presentations

原文链接:  groupcache (编译/仲浩 审校/王鹏)

欢迎关注 @CSDN云计算微博,了解更多云信息。

数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径 移动周报:百度收购91,19亿美金背后的博弈 植物大战僵尸2:“免费+内付费”模式引发争论 [CTO俱乐部第103期] 高德和四维图新技术高管谈地图导航的发展与挑战 Java 7爆最新漏洞,10年前的攻击手法仍有效 Twitter联合创始人Biz Stone谈Facebook用户体验 提倡零广告 英雄会:企业的人才漏斗 开发者的武林大会 一次错误估算带来的启示 苹果开发者中心被黑:开发者信息或被窃取 SIM卡加密存漏洞 将影响数亿计的手机用户 搜狗茹立云:探索引擎产品落地 浏览器+搜索模式会成主流吗? 大势所趋,IBM Acme Air至少使用Netflix的5个开源工具 【观察】跨越“朦胧期”的云计算:产业、核心技术、生态圈以及突破点 Rovio Account:平台化之路修成正果 甲骨文总裁马克•赫德采访实录:用软硬件集成一体机打垮对手 如何一步一步打造高可扩展性的应用程序? 用Java编程,请保持简洁! 从安全隐患带来的商机来看,Hadoop同样很美 三年增四倍:如今谷歌服务占北美互联网流量四分之一 决战低功耗?Intel明年推低功耗Xeon处理器 在软件架构上增加新功能的注意事项 90后的代码界“女神”李雪:在编程中找到自己的“灵魂” 大数据之路不乏荆棘,然则其中的机遇却高于一切 iPhone销量令人意外:苹果Q3财季净利69亿美元 同比下滑 励志:12位早起的IT大佬们让小伙伴们都惊呆了 独家:苹果5周年限免神作,BADLAND开发者访谈 10亿次订阅!苹果Podcast的里程碑 免费利器Unity 4.2正式发布 支持WP8、Win8和BB10 SDCC 2013:Pinterest首位中国籍工程师两场演讲议题确定 甲骨文公布中国首届“Duke选择奖”名单 Moco、X幻想、开源中国获奖 直接拿来用,10个PHP代码片段 在菜单中增加CIMAGELIST中的位图,这样写对吗? 为什么受伤的总是我?只因为我是菜鸟??? 寻一个asp.net(codebehind)实现的数据库访问的demo sybase事务处理的问题 我的程序用的Access,,运行时出现“无法为更新引集定位:一些值可能已在最后读取后改变”什么原因? 怎样加大在sql server中存储图片字段的大小 这回真的是“高手请进”了!!!! 求救,javabean编译问题?? 如何获取Dispatch接口中的事件? 小小问题:如何清空用ADO连接的数据库表中的记录 大家由没有碰到这样的问题? 100分请高手给澄清关于数据库引擎的几个概念 请问 ucs2编码如何转化成gb格式的? 在Ado2.1中如果已经Addnew,如何撤消而不引起错误? 打开新窗口的问题 谁知道那里有电子版的《C语言编程思想》 如何获得输入得BSTR 字符串得值? 帮我想想! 为什么我运行 ms-project2000会出错!错误内容在里面,请大家指教!!! 哈工大附近有卖3号足球(最小的那种,可以在室内玩)的吗? 修改?? 关于CPU 100%使用率的问题 如何使用VB访问MySQL数据库? 视图窗口的windows句柄和视图窗口的指针有什么区别? SQLServer出现问题,急!! 如何像Windows Form一样,弹出 .aspx的Web文件。 请教一个问题。急 请问如何才能链接到中文文件?谢谢。 初学者的一个很低级的问题! 未老先衰吗? 用什么方法可以把DBGrid查询的内容打印处理,查询是用sql语句的,有什么好控件? 怎样重烖 滚动条的滚动消息? 请问高手:IIS5.0+PHP4.0安装问题 怎么样取得数据窗口中所有的TEXT和计算字段的列表? 如何实现(单击一个下拉菜单,同时刷新另外一个下拉菜单中的值??) 我的Red Hat 7.3启动盘丢了。怎么办? 哪里有讲Object Pascal的书下载? vb里怎么调用vc写的dll,还有为什么vc的dll不好用regsvr32直接注册,老说dll enter point not found ★★★同志们好,我想在北京找工作,什么人才网站比较好? 怎样实现在一个窗体中控制另外一个窗体及其控件? 创建一个线程来接收串口数据,为什么正常收一段时间后(10多分钟)就不再收任何东西了? 关于设计一个防震系统!欢迎讨论! 请问各位高手!Win32 SDK里面有没有用来设置麦克风音量的函数? 用.Net技术实现:与扫描仪直接连接,将扫描图像保存为文件,其他子内容保存到数据库中? 请大虾介绍一款好用的web报表打印控件,最好有说明文档,谢谢 CString类型怎样转换成unsigned char * 关于使用System.Net.Sockets时的一些不明白的问题 关于.net编辑器操作的问题? 将main函数移动后出现的编译错误 请各位大佬帮忙,sql server是否有..start with..这样语句? 读"征集2001参加工作的程序员的工作感受和打算"有感! 葡萄牙属于西欧还是南欧? 活的干细胞的有丝分裂,和发育着的受精卵的有丝分裂.那个做有丝分裂的实验更理想? 怎么去除化纤地毯的异味? 西班牙是属于西欧还是南欧? 化学中的电离度怎求 化纤地毯的编制中为什么要加杂一些不锈钢丝? 英语的适用范围? 电动车电机350W功率能改装成500W功率吗? 试以PH玻璃电极为例简述膜电位的形成机理 华北平原平均的海拔高度为什么北京的海报高度是40米左右,而河北保定的海拔高度却只有10米左右 观察根尖分生组织细胞的有丝分裂实验 观察的细胞是死细胞,那还怎么看他分裂呀 配位滴定法与酸碱滴定法的区别简要说明即可,大概有四条吧 双子叶植物胚的发育与种子的萌发大概是不是同一个过程,他们所需要的营养物质分别由什么提供,胚的发育所需能量为何由光合作用提供而不是胚乳和子叶提供 观察细胞有丝分裂实验中,为什么洋葱根5厘米时,分生区细胞分裂比较旺盛? 使用电位滴定仪测定酸碱滴定终点应注意哪些问题 从中国上古到秦始皇统一中国(公元前221年)期间的文学.叫什么文学 观察有丝分裂和减数分裂,哪个是用死细胞? 求权威!好好说,别误导我,谢谢。那几个明显坑爹的回答拜托不要说了 酸碱滴定法,直接滴定的条件是( ). 公元前()年,秦王嬴政统一了中国 观察植物细胞有丝分裂实验中,使细胞分散开来的步骤是的( )A室温下解离B、把根尖捣碎C、加盖玻片后加压片D、以上三项.2、下列哪一项叙述表明高等动物细胞正在进行有丝分裂A核糖体活 配合滴定法和酸碱滴定法有什么不同 秦始皇在公元前几世纪统一中国? 有两根绳子,第一根长56米,第二根长36米.同时点燃后,平均每分钟都燃烧2厘米,几分钟后,第一根绳子的长度是第二根绳子3倍? 酸碱滴定法和电位滴定法测氨基酸含量一直用的高氯酸滴定液,加结晶紫指示剂测定氨基酸的含量,用颜色判断是否到终点.现在想用电位滴定仪,结合指示剂颜色变化去判断终点,买哪种电极? 气温在多少度就结冰? 观察根尖细胞有丝分裂实验中卡诺氏液可以代替酒精和盐酸作为解离液吗? 观察植物根尖分生组织细胞的有丝分裂的实验观察植物根尖分生组织细胞的有丝分裂实验的:1.实验原理2. 请问气温在多少度就结冰? 观察洋葱根尖分生区细胞有丝分裂实验中用盐酸作解离液,盐酸的作用是什么?比如他对细胞壁,还是对胞间连丝有作用 "观察根尖分生组织细胞的有丝分裂"实验问题实验中有一步要用到盐酸盐酸有啥用啊?盐酸杀死了细胞还怎么看细胞有丝分裂的过程? 什么的华北平原 华北平原和黄河中下游平原的范围 有关"观察根尖分生组织细胞的有丝分裂" 实验中\的在 "观察根尖分生组织细胞的有丝分裂" 实验中.书上给染色体染色的是 龙胆紫 或者 醋酸洋红 .而甲基绿是染DNA.那么 可以用甲基绿来 作这 秦始皇为何是公元前259—公元前210年?公元代表什么意思?为什么是259-210年?年份越变越少了?秦始皇只有49岁么?公元代表什么意思? 高压锅能很快煮熟饭菜的原因是A.密封性好,压强变大 B增大压强,提高了沸腾温度 C增大压强,降低了沸腾温度 D传热快,缩短了沸腾时间 化学试剂能喝死人吗? 公元前221年秦始皇的都城在哪? 高压锅能很快煮熟饭菜,最主要的原因是 两根导火线,第一根长56厘米,第二更长36厘米,同时点燃平均每秒烧掉2厘米.求几秒后第一根是第二根长度的求几秒后第一根是第二根长度的3倍。 哪些醋是用纯粮酿造的? 在一定温度下,0.1mol/l一元弱酸(HX)溶液中,HX电离出的离子欲未电离的HX分子数比是1:30 则电离度是: 我们日常生活中的能量主要从哪儿来?可再生否?举几例说明. 秦始皇是在怎样的历史条件下完成统一大业的?再稍微详细那么点!三四句话就好! 与化学分析中的滴定分析法相比,电位滴定法有何特点 举两个日常生活中常见的能量转繁化的例子,并说明能的形式如题亲打错了是能量转化 李娜认为汽车的发明使人们的生活陷入窘境,除了造成交通堵塞的情况,每年汽车尾气排放量也对大气造成严重污染,全球的气温也随之升高,她认为应禁止人们以汽车为交通工具,人类因回到自 电位滴定法与化学分析法的区别 能量利用的实例光能,声能,电能,热能,磁能,机械能,水能,风能, 怎样解决城市交通堵塞问题 分析化学电位法和永停滴定法中pC2O4是什么.用下列电池按直接电位法测定草酸根离子浓度.Ag | AgCl(固) | KCl(饱和) ┊┊C2O42-(未知浓度)| Ag2C2O42-(固)| Ag (1) 推导出pC2O4与电池电动势之间 中国的北方重要还是南方重要? 硫酸根离子和碳酸根离子的检验方法分别是什么? 用光学显微镜观察有丝分裂过程,如果仅从细胞分裂周期来看,图中哪种植物作为实验材料最适合(  ) 我国东北地区,冬季河流冰封期很长,为什么?巴西高原上四季如春,而亚马逊河流域终年高温多雨,为什么? 向含有碳酸根离子,银离子,硫酸根离子.碳酸氢艮离子的溶液中滴加盐酸,离子数目减少的是那个这几种离子是不在同一瓶溶液里的 观察植物细胞有丝分裂的实验材料选取的标准是什么 高一化学常用化学式俗语 我正在学电离 .要写电离方程式.怎样写的~教教我.比方说他给你一个Mgcl2.要怎写?还有什麼正负怎样分? 观察动物细胞有丝分裂的理想材料是? 初三所有的化学物质的化学式和俗称
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘