elasticsearch的准实时(near real-time)查询

elasticsearch是基于lucene的,lucene是可以做到实时的,就是创建索引之后,立即能查询到。但是这样,要么是牺牲索引的效率,每次都索引之后都刷新,要么就是牺牲查询的效率每次查询之前都进行刷新。为了兼顾两者,必须搞个定时刷新,就是所谓的准实时(near real-time)查询。 阅读全文

cassandra集群要求严格的时间同步

cassandra的集群对时间的要求是很严格的,在集群中的任何一台机器时间都必须保持同步,即便有一秒的延迟,也会带来莫名其妙的问题。因为cassandra是根据时间戳分辨出最后到达的响应,假设对同一个记录进行不同的操作,如果时间不同步,可能会导致前面的操作在后面的操作之后生效。当在高速操作的时候,可能会发生记录删除不掉,表drop了仍然存在等等奇怪的现象。 阅读全文

java多线程学习(六) 之 Condition

和synchronized一样,Lock是为了线程互斥而设计的,在synchronized中,使用对象隐式锁的wait notify(notifyAll)来实现线程之间的通信,同样的功能在Lock中是通过Codition来实现的。Condition除了完成wait和notify的基本功能之外,它的好处在于一个Lock可以通过创建多个Condition,选择性的去通知wait的线程。 阅读全文