分布式
文章平均质量分 65
icoder
Java C/C 互联网 电子商务 算法 计算几何 计算机图形学
展开
-
缓存简析
一、缓存穿透 在项目中使用缓存通常都是APP先检查缓存中是否命中,如果命中直接返回缓存内容;如果不命中就直接查询数据库然后回写缓存并返回结果。此时如果查询某个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,DB可能就会挂掉。 如果碰到这样的问题可以在封装的缓存SET和GET部分增加个步骤,如果查询一个KEY不存在,就以这个KEY为前缀设定一个标识KEY;原创 2013-03-28 21:32:02 · 665 阅读 · 0 评论 -
线程池合理配置
合理利用线程池能够带来三个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。 要想合原创 2013-04-02 14:08:57 · 909 阅读 · 0 评论 -
理解CAP
CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但可通过显式处理分区情形,做到优化数据一致性和可用性,进而取得三者之间的平衡。 CAP理论主张任何基于网络的数据共享系统,都最多只能拥有以下三条中的两条: 数据一致性(C),等同于所有节点访问同一份最新的数据副本; 对数据更新具备高可用性(A); 能容忍网原创 2013-03-26 14:12:37 · 772 阅读 · 0 评论 -
CAP理论十二年回顾:"规则"变了
CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡。 自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了滥用的程度。NoSQL运动也将CAP理论当作对抗传统关系型数据库的依据。 CAP理论主张任何基于转载 2013-04-09 10:36:51 · 1025 阅读 · 0 评论 -
无锁同步栈实现
public class ConcurrentStack { private AtomicReference> top = new AtomicReference>(); ConcurrentStack(){ } public void push(E item) { Node newHead = new Node(item)原创 2013-04-10 16:57:27 · 1787 阅读 · 0 评论 -
一种高并发流控程序的简单轻量实现
实现一个流控程序,控制客户端每秒调用某个远程服务不超过N次,客户端是会多线程并发调用。 import java.util.Date; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; import原创 2013-04-16 16:06:04 · 6292 阅读 · 2 评论 -
一种简单无锁队列的实现
Disruptor是内存无锁并发框架,基于一个环数组作为缓冲,详见Disruptor-1.0。 下面是自己设计的一个简易版,目前没有发现存在冲突或错误的测试用例。大家可以一起测试下。 package tianshui.lockfree.queue; import java.io.Serializable; import java.lang.reflect.Array; import原创 2013-04-09 17:33:07 · 6751 阅读 · 1 评论 -
简析分布式计算框架:Hive HBase Hadoop HDFS
Hive Hive是为简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样。在这种情況下,就需要Hive这样的SQL似的用户編程接口。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑表,就是些表的定义等,也就是表的元数据。使用SQL实现Hive是因为SQL大家都熟悉,转换成本原创 2013-03-29 09:50:50 · 1756 阅读 · 0 评论 -
Hive中join, outer join, semi join区别
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 最常用的就是多表关联查询,主要讲解下join、outer join和semi join的具体使用。 join是最简单的关联操作,两边关联只取交集。 outer join分为left outer join、rig原创 2014-05-05 14:12:36 · 16900 阅读 · 1 评论