在一个分布式系统中,需要一个规定来保证数据的一致性、各节点服务的容错性等等,这个规定就是一致性协议。常见的分布式协议有2PC、3PC、Paxos和raft等。
hbase memstore 的flush
发表于
region server的内存用于读写缓存主要有memstore和blockcache,其中memstore是写缓存。region server收的到写请求,实际上访问的是该server的region。每个region包含多个store,一个store对应着一个列族。每个store中又包含一个memstore和多个Hfile文件。memstore位于region server的主内存中,而HFiles被持久化到HDFS中。当region server处理写请求的时候,数据首先写入到memstore中去,然后当到达一定的阀值的时候,memstore中的数据会被flush到HFile中,此时的数据才完成持久化。
【转】Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
发表于
在Java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。
Docker:资源隔离和资源限制
发表于
Docker通过利用Linux 内核中的namespace机制和cgroups机制分别实现了资源隔离和资源限制,同时通过写时复制(COW,copy-on-write)实现了高效的文件操作。下面主要介绍下namespace和cgroup的相关知识点。
常见的查找算法(上)
发表于
现代计算机和网络使我们能够访问海量的信息。查找是在大量的信息中寻找一个特定的信息元素。高效地检索这些信息的能力是处理它们的重要前提。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。插值查找和斐波那契查找是在二分查找的基础上的优化查找算法。