我不知这个是不是和分布式存储是一个概念,现在业内搞的比较乱,总体而言,用得了这个DFS的都是Top N的公司,最少我见到的不少还是NFS或是NAS之类的。
NFS的缺点:I/O压力,不能扩展,存在单点。
DFS:用了name server和存储位置,其中name server可以做HA,后边的存储可以用普通的PC来代替,易扩展,而且name server留有API。
常用的hadoop,moosefs等。其中hadoop有个子项目叫zookeeper,它的适用于以下:
-----------------------------------------------------------------------------
1. database replication, log replication等, 如bdb的数据复制就是使用paxos兼容的算法。Paxos最大的用途就是保持多个节点数据的一致性。
2. naming service, 如大型系统内部通常存在多个接口服务相互调用。
1) 通常的实现是将服务的ip/hostname写死在配置中,当service发生故障时候,通过手工更改配置文件或者修改DNS指向的方法来解决。缺点是可维护性差,内部的单元越多,故障率越大。
2) LVS双机冗余的方式,缺点是所有单元需要双倍的资源投入。
通过Paxos算法来管理所有的naming服务,则可保证high available分配可用的service给client。象ZooKeeper还提供watch功能,即watch的对象发生了改变会自动发notification, 这样所有的client就可以使用一致的,高可用的接口。
3.config配置管理
1) 通常手工修改配置文件的方法,这样容易出错,也需要人工干预才能生效,所以节点的状态无法同时达到一致。
2) 大规模的应用都会实现自己的配置服务,比如用http web服务来实现配置中心化。它的缺点是更新后所有client无法立即得知,各节点加载的顺序无法保证,造成系统中的配置不是同一状态。
4.membership用户角色/access control list, 比如在权限设置中,用户一旦设置某项权限比如由管理员变成普通身份,这时应在所有的服务器上所有远程CDN立即生效,否则就会导致不能接受的后果。
5. 号码分配。通常简单的解决方法是用数据库自增ID。
-------------------------------------------------------------
还有个hadoop状态分析系统chukwa,我估计90%的都接触不到这些。我接触过的图片存储上TB了,还是用了NAS。
阅读(990) | 评论(0) | 转发(0) |