摘要:
原文位于Redis官网http://redis.io/topics/twitter-cloneRedis是NoSQL数据库中一个知名数据库,在新浪微博中亦有部署,适合固定数据量的热数据的访问。作为入门,这是一篇很好的教材,简单描述了如何使用KV数据库进行数据库的设计。新的项目www.xiayucha.com亦采用Redis + MySQL进行开发,考虑Redis文档比较少,故翻译了此文。其他参考资料:Redis命令参考中文版(Redis Command Reference)Try Redis我会在此文中描述如何使用PHP以及仅使用Redis来设计实现一个简单的Twitter克隆。很多编程社区常 阅读全文
posted @ 2013-06-27 16:00
jackluo
阅读(6348)
评论(0)
推荐(1)
摘要:
原文:http://hadoop.apache.org/core/docs/current/hdfs_design.html一、前提和设计目标1、硬件错误是常态,而非异常情况,HDFS可能是有成百上千的server组成,任何一个组件都有可能一直失效,因此错误检测和快速、自动的恢复是HDFS的核心架构目标。2、跑在HDFS上的应用与一般的应用不同,它们主要是以流式读为主,做批量处理;比之关注数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。3、HDFS以支持大数据集合为目标,一个存储在上面的典型文件大小一般都在千兆至T字节,一个单一HDFS实例应该能支撑数以千万计的文件。4、HDFS应用对文 阅读全文
posted @ 2013-06-27 15:26
jackluo
阅读(333)
评论(0)
推荐(0)
摘要:
target, ... } * @comment 位置对应节点,用于lookup中根据位置确定要访问的节点 */ private $_positionToTarget = array(); /** * Internal map of targets to lists of positions that target is hashed to. * @var array { target => [ position, position, ... ], ... } * @comment 节点对应位置,用于删除节点 */ priva... 阅读全文
posted @ 2013-06-27 15:24
jackluo
阅读(3406)
评论(0)
推荐(0)
摘要:
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ;hash(object)%N一切都运行正常,再考虑如下的两种情况;1 一个 cache 服务器 m down 掉了(在实际应用中必须要考虑这种情况). 阅读全文
posted @ 2013-06-27 15:21
jackluo
阅读(332)
评论(0)
推荐(0)
摘要:
有些情况下,对分布式的需求就没这么简单,在每个环节上都有分布式的需求,比如Load Balance、DB、Cache和文件等等,并且当分布式节点之间有关联时,还得考虑之间的通讯,另外,节点非常多的时候,得有监控和管理来支撑。这样 看起来,分布式是一个非常庞大的体系,只不过你可以根据具体需求进行适当地裁剪。按照最完备的分布式体系来看,可以由以下模块组成分布式任务处理服务:负责具体的业务逻辑处理分布式节点注册和查询:负责管理所有分布式节点的命名和物理信息的注册与查询,是节点之间联系的桥梁分布式DB:分布式结构化数据存取分布式Cache:分布式缓存数据(非持久化)存取分布式文件:分布式文件存取网络通 阅读全文
posted @ 2013-06-27 15:05
jackluo
阅读(347)
评论(0)
推荐(0)
摘要:
●什么是会话保持,有什么作用会话保持是指在负载均衡器上有一种机制,在作负载均衡的同时,还保证同一用户相关连的访问请求会被分配到同一台服务器上。会话保持有什么作用呢,举例说明一下如果有一个用户访问请求被分配到服务器A,并且在服务器A登录了,并且在很短的时间,这个用户又发出了一个请求,如果没有会话保持功能的话,这个用户的请求很有可能会被分配到服务器B去,这个时候在服务器B上是没有登录的,所以你要重新登录,但是用户并不知道自己的请求被分配到了哪里,用户的感觉就是登录了,怎么又要登录,用户体验很不好。●nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认) 每个请求按时间顺序. 阅读全文
posted @ 2013-06-27 14:52
jackluo
阅读(3077)
评论(0)
推荐(0)