一致hash算法
摘要:http://www.berlinix.com/dev/consistency-hash.php
阅读全文
posted @
2014-01-28 16:11
刀锋诚心
阅读(133)
推荐(0) 编辑
一致性哈希算法及其在分布式系统中的应用
摘要:摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。分布式缓存问题假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接读写数据库的方式不太给力了,于是我们想引入Memcached作为缓存机制。现在我们一共有三台机器可以作为Memcached服务器,如下图所示。很显然,最简单的策略是将每一次Memcached请求随机发送到一台Mem
阅读全文
posted @
2014-01-28 09:03
刀锋诚心
阅读(262)
推荐(0) 编辑
Spark
摘要:尽管Hadoop适合大多数批处理工作负载,而且在大数据时代成为企业的首选技术,但由于以下几个限制,它对一些工作负载并不是最优选择:缺少对迭代的支持需要将中间数据存在硬盘上以保持一致性,因此会有比较高的延迟当然,整个Hadoop生态系统是在不断演进的,包括Map/Reduce已经证明是处理大规模海量数据的理想方式。而HDFS、HBase等在过去几年中也有了长足的进步。在本文中,我们将深入了解一下过去一年中“红透半边天”的技术Spark,它与Hadoop架构类似,但是在许多方面都弥补了Hadoop的不足,比如在进行批处理时更加高效,并有更低的延迟。在大数据时代,Spark给我们带了新的选择,它的前
阅读全文
posted @
2014-01-27 16:10
刀锋诚心
阅读(900)
推荐(0) 编辑
akka框架地址
摘要:http://doc.akka.io/docs/akka/2.2.3/AkkaJava.pdf
阅读全文
posted @
2014-01-27 13:25
刀锋诚心
阅读(144)
推荐(0) 编辑
一个用于实现并行执行的 Java actor 库
摘要:即使 Java 6 和 Java 7 中引入并发性更新,Java 语言仍然无法让并行编程变得特别容易。Java 线程、synchronized代码块、wait/notify和java.util.concurrent包都拥有自己的位置,但面对多核系统的容量压力,Java 开发人员正在依靠其他语言中开创的技术。actor 模型就是这样一项技术,它已在 Erlang、Groovy 和 Scala 中实现。本文为那些希望体验 actor 但又要继续编写 Java 代码的开发人员带来了 μJavaActors 库。用于 JVM 的另外 3 个 actor 库请参阅 “表 1:对比 JVM actor 库
阅读全文
posted @
2014-01-27 12:10
刀锋诚心
阅读(1096)
推荐(0) 编辑
数据挖掘
摘要:http://blogimg.chinaunix.net/blog/upfile2/100222113336.pdfhttps://github.com/reactor/reactor/blob/master/reactor-core/src/main/java/reactor/event/Event.java
阅读全文
posted @
2014-01-27 09:21
刀锋诚心
阅读(122)
推荐(0) 编辑
数据挖掘建议
摘要:关于数据挖掘方面的研究,我原来也走过一些弯路。其实从数据挖掘的起源可以发现,它并不是一门崭新的科学,而是综合了统计分析、机器学习、人工智能、数据库等诸多方面的研究成果而成,同时与专家系统、知识管理等研究方向不同的是,数据挖掘更侧重于应用的层面。因此来说,数据挖掘融合了相当多的内容,试图全面了解所有的细节会花费很长的时间。因此我建议你的第一步是用大概三个月的时间了解数据挖掘的几个常用技术:分类、聚类、预测、关联分析、孤立点分析等等。这种了解是比较粗的,目标是明白这些技术是用来干什么的,典型的算法大致是怎样的,以及在什么情况下应该选用什么样的技术和算法。经过初步了解之后,就要进入选题的阶段,选择自
阅读全文
posted @
2014-01-27 09:09
刀锋诚心
阅读(385)
推荐(0) 编辑
用HAProxy和KeepAlived构建高可用的反向代理系统
摘要:对于访问量较大的网站来说,随着流量的增加单台服务器已经无法处理所有的请求,这时候需要多台服务器对大量的请求进行分流处理,即负载均衡。而如果实现负载均衡,必须在网站的入口部署服务器(不只是一台)对这些请求进行分发,这台服务器即反向代理。由于反向代理服务器是网站的入口,其负载压力大且易遭到攻击,存在单点故障的风险,所以我们需要一个高可用的方案来实现当一台反向代理服务器宕机的时候,另一台服务器会自动接管服务。基于以上要求,我们使用HAProxy,KeepAlived来构建高可用的反向代理系统。介绍HAProxy是高性能的代理服务器,其可以提供7层和4层代理,具有healthcheck,负载均衡等多种
阅读全文
posted @
2014-01-25 13:57
刀锋诚心
阅读(280)
推荐(0) 编辑
NoSQL2
摘要:系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性。这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去。尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地的关于各种协议和算法的研究以及实践。正是通过这些尝试逐渐总结出了一些行之有效的数据库构建方法。在这篇文章里,我将针对NoSQL数据库的分布式特点进行一些系统化的描述。接下来我们将研究一些分布式策略,比如故障检测中的复制,这些策略用黑体字标出,被分为三段:数据一致性。NoSQL需要在分布式系统的一致性,容错性和性能,低延迟及高可用之间作出权衡,一般来说
阅读全文
posted @
2014-01-24 15:52
刀锋诚心
阅读(205)
推荐(0) 编辑
NoSQL
摘要:Scalability is one of the main drivers of the NoSQL movement. As such, it encompasses distributed system coordination, failover, resource management and many other capabilities. It sounds like a big umbrella, and it is. Although it can hardly be said that NoSQL movement brought fundamentally new tec
阅读全文
posted @
2014-01-24 11:21
刀锋诚心
阅读(313)
推荐(0) 编辑
学习
摘要:http://www.cppblog.com/jerryma/archive/2012/01/31/164704.html 定时器https://github.com/mbrossard/threadpool 线程池http://troydhanson.github.io/uthash/userguide.html hashhttp://www.ietf.org/ 协议http://m.oschina.net/blog/88173 NoSQL
阅读全文
posted @
2014-01-18 16:41
刀锋诚心
阅读(128)
推荐(0) 编辑
什么是EventLoop
摘要:Event Loop 是一个很重要的概念,指的是计算机系统的一种运行机制。JavaScript语言就采用这种机制,来解决单线程运行带来的一些问题。本文参考C. Aaron Cois的《Understanding The Node.js Event Loop》,解释什么是Event Loop,以及它与JavaScript语言的单线程模型有何关系。想要理解Event Loop,就要从程序的运行模式讲起。运行以后的程序叫做"进程"(process),一般情况下,一个进程一次只能执行一个任务。如果有很多任务需要执行,不外乎三种解决方法。(1)排队。因为一个进程一次只能执行一个任务,
阅读全文
posted @
2014-01-03 14:10
刀锋诚心
阅读(307)
推荐(0) 编辑
学习链接
摘要:http://www.zhangxinxu.com/wordpress/2013/11/https://github.com/huangz1990/redisbookhttps://sites.google.com/site/murmurhash/
阅读全文
posted @
2014-01-02 15:36
刀锋诚心
阅读(105)
推荐(0) 编辑