Author Archive

实现高可用的两种方案与实战

我之前在一片文章 用Nginx+Redis实现session共享的均衡负载 中做了一个负载均衡的实验,其主要架构如下:

架构

debian1作为调度服务器承担请求分发的任务,即用户访问的是debian1,然后debain1把请求按照一定的策略发送给应用服务器:debian2或者debain3,甚至更多的debain4、5、6……

Read more

基于一致性哈希的分布式内存键值存储——CHKV

Consistent Hashing based Key-Value Memory Storage

基于一致性哈希的分布式内存键值存储——CHKV。

系统设计

  • NameNode : 维护key与节点的映射关系(Hash环),用心跳检测DataNode(一般被动,被动失效时主动询问三次),节点增减等系统信息变化时调整数据并通知Client;
  • DataNode : 存储具体的数据,向NameNode主动发起心跳并采用请求响应的方式来实现上下线,便于NameNode挪动数据
  • Client : 负责向NameNode请求DataNode数据和Hash算法等系统信息并监听其变化,操纵数据时直接向对应DataNode发起请求就行,暂时只包含set,get,delete三个操作

Read more

return top