分布式存储的几种架构

随着互联网信息的爆炸式增长,大数据存储的解决方案越来越多,这里介绍一下常见的分布式存储架构方案。

1 主备机制

主备机制又称为主从机制,主节点(master)是提供数据的查询和更新服务,备节点(slave)在主节点提供服务期间不提供对外服务。

如图1-1所示,备节点从主节点获取更新消息,或主节点主动广播消息,一旦主节点挂掉,客户端可以通过负载均衡设备切换到备节点继续服务。

SM.jpg图 1-1 主备架构

像redis、mysql等做分布式方案都属于这种设计,通过binlog/oplog同步到备节点。

2 对等机制

集群中每个节点都是一样的对等结构,每一个节点都保存了数据的元信息以及数据,每个节点都提供数据的查询和更新服务,如图2-1:

ClusterNode.jpg

图 2-1 节点对等机制

在数据容灾方面,集群会对数据进行分片,且分片有多个副本的存在这些节点中,一旦某个节点挂掉,客户端通过某种哈希算法找其它副本即可继续服务。一种更好的表示如图2-2所示:

SampleNode.jpg

图 2-2 节点均衡迭代

在针对不同场景的读取和更新的优化上,一般使用QUORUM机制,保证W+R>N即可。

像Cassandra、Dynamo等都属于这种设计

3 数据和集群管理

把集群中数据的元信息以及数据以及集群的管理信息进行分离,数据节点主要根据其元信息管理数据的增删改查,数据节点统一由集群的服务进行管理,集群的管理服务也是分布式,每个管理节点可能是主备,也可能是对等机制。

数据节点启动时,向管理节点汇报服务信息,后续每隔一段心跳时间汇报一下数据节点的状态(包括数据状态、服务健康状态等),若某个数据节点挂掉,心跳不能继续进行,故客户端连接时候,抽取心跳时间间隔内的服务器进行访问即可,如图3-1:

ClusterNodeAndManager.jpg

图 3-1 集群管理

针对心跳时间间隔内的服务器突然不可用,客户端可以采取一定优化措施。有些分布式系统为了元数据的统一管理和方便查询,将元数据信息甚至配置信息统一用新的分布式方案进行部署管理。

像Tair、hyperdex等属于这种设计方式。

Monthly Archives

Pages

Powered by Movable Type 7.7.2

About this Entry

This page contains a single entry by Cnangel published on May 28, 2016 8:51 AM.

存储引擎简介 was the previous entry in this blog.

fedora24 正式发布了 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.