分布式存储系统架构设计,应该遵循什么样的原则?

 分布式存储系统,本质是将数据分散存储在多台独立的x86设备上。传统的网络存储系统通常采用集中的存储服务器存放数据,存储服务器很容易成为系统性能的瓶颈,也容易成为可靠性和安全性的瓶颈。分布式存储系统采用可扩展的系统结构,利用多台x86服务器分担存储负荷,利用位置服务器定位存储信息,不但提高了系统的可靠性、可用性和存储读写效率,还易于扩展。

传统架构VS分布式架构

分布式架构I/O

分布式存储系统架构设计核心原则

1.分布式、无共享架构

 采用基于策略的分布式哈希表数据路由算法,使得客户端无需查找元数据节点,通过计算就能直接寻址到数据所在的存储节点,大大缩短了数据IO访问路径,提升了系统性能。

 同时,整个系统也无集中管理和控制节点,每一个数据节点都有能力承担另一数据节点的功能,节点之间通过内部高效的分布式协议完成相互协作和通信。这种去中心化、无状态的全分布式数据处理架构是系统实现水平、线性扩展能力的关键,有力确保整个系统无单点故障,无性能瓶颈。

2.全冗余可靠性设计

 实际硬件环境中,磁盘可能损坏,服务器可能宕机,网络可能失效……为处理这些不可预期的硬件故障,保证数据的完整性和业务的可用性,需要通过全冗余设计等一系列软件层面的设计,来弥补硬件不可靠带来的数据可靠性和可用性问题。

 分布式存储采用了多副本冗余机制,基于策略配置,实现数据及其副本跨硬盘、跨存储节点、跨机架的存储,并通过强一致性复制技术确保各个数据副本的一致性,这样即便一个数据服务器甚至整个机架停机也完全不影响数据可靠性和可用性。

3.块存储优化

 分布式存储的架构和数据路径完全为一个块存储系统而设计和优化,拥有如下特性:读写操作流程都非常简单,以尽可能少占用资源;采用强一致性复制协议保证数据多副本的完整性和一致性;充分利用SSD的高性能特点,通过智能缓存算法,将热数据缓存到快速的SSD中,以应对随机 I/O 访问;除了支持私有客户端访问接口,也支持业界标准的iSCSI和SCSI块访问接口,使得应用可以无缝切换到分布式存储系统。

4.自动化管理运维

 分布式存储设计的另一大目标就是简化数据中心存储系统的运维,从安装部署、日常维护、故障恢复等都力争做到全自动化。分布式存储集群做到了设备自动发现、自动安装,只需简单配置20分钟内完成整个系统的安装部署;当硬盘损坏,数据可靠性降低时,会触发自动修复功能,将数据快速复制到正常的节点,整个过程无需人工参与。分布式存储做到了全自动化扩容,自动发现和添加新增节点,自动数据复制,自动负载均衡等功能。

原文地址:http://blog.51cto.com/13923196/2167658

时间: 2024-11-06 07:11:55

分布式存储系统架构设计,应该遵循什么样的原则?的相关文章

大型分布式网站架构设计与实践

大型分布式网站架构设计与实践(一线工作经验总结,囊括大型分布式网站所需技术的全貌.架构设计的核心原理与典型案例.常见问题及解决方案,有细节.接地气/京东:大型分布式网站所需技术的全貌.架构设计的核心原理与典型案例.常见问题及解决方案) 陈康贤 著   ISBN 978-7-121-23885-7 2014年9月出版 定价:79.00元 460页 16开 编辑推荐 --作者一直奋战在阿里巴巴及淘宝网一线,书中所讲是其亲身经验的总结,显得更加实战和珍贵. --全面介绍大型分布式网站架构所涉及的技术细

《大型分布式网站架构设计与实践》

读后感 逐字逐句看完<大型分布式网站架构设计与实践>第2章,意犹未尽!如标题所言,这是一本“真材实料的分布式资料”,它与我看过的分布式书籍(如<大型网站系统与Java中间件实践>)不同,本书重技术兼并理论,给了新人入手的方向. 我最最感动的是书中介绍了很多分布式的“干货”:分布式缓存可以用memcache.数据库水平/垂直拆分技术.分布式存储可以HBase/Redis等.消息通道可以用ActiveMQ.搜索引擎Lucene/Solr等.当然每一种技术都不是一本书能说完的,作者至少给

大型电商分布式网站架构设计与实践,Java分布式架构,Java事务分布式高并发-视频教程

15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat. Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.性能调优.高并发.

分布式爬虫架构设计与实现

由于scrapy框架需要更多的学习成本,还有分布式爬虫也需要redis来实现,调度方式也不是很符合业务要求,于是就自己设计了个分布式爬虫架构.架构图如下: 爬虫的客户端为tornado编写的服务,爬虫管理器也是tornado编写的后台管理服务,主要功能:获取客户端的状态信息,爬虫进程数量,启动指定数量的爬虫进程,中断.重启爬虫,爬虫异常通知等. 爬虫进程与调度器间的请求非常频繁,所以使用socket长连,获取优先级高的队列,调度器的优先级算法,根据业务需求来编写. 消息队列使用rabbitmq,

细说分布式Redis架构设计和踩过的那些坑

摘要:本文章主要分成五个步骤内容讲解 Redis.RedisCluster和Codis; 我们更爱一致性; Codis在生产环境中的使用的经验和坑们; 对于分布式数据库和分布式架构的一些看法; Q & A环节. Codis是一个分布式Redis解决方案,与官方的纯P2P的模式不同,Codis采用的是Proxy-based的方案.今天我们介绍一下Codis及下一个大版本RebornDB的设计,同时会介绍一些Codis在实际应用场景中的tips.最后抛砖引玉,会介绍一下我对分布式存储的一些观点和看法

[转载] Codis作者黄东旭细说分布式Redis架构设计和踩过的那些坑们

原文: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=208733458&idx=1&sn=691bfde670fb2dd649685723f7358fea&scene=1&key=c76941211a49ab58cb17c68ecaeeda0f1c083d9508a0f6629461fff9025fd87de4706bd9c1730e0ddbab70568b34b16a&ascene=0&

Codis作者黄东旭细说分布式Redis架构设计和踩过的那些坑们

本次分享的内容主要包括五个大部分: Redis.RedisCluster和Codis; 我们更爱一致性; Codis在生产环境中的使用的经验和坑们; 对于分布式数据库和分布式架构的一些看法; Q & A环节. ??Codis是一个分布式Redis解决方案,与官方的纯P2P的模式不同,Codis采用的是Proxy-based的方案.今天我们介绍一下Codis及下一个大版本RebornDB的设计,同时会介绍一些Codis在实际应用场景中的tips.最后抛砖引玉,会介绍一下我对分布式存储的一些观点和看

《大型分布式网站架构 设计与实践》 陈康贤 摘要

一.面向服务的体系架构 二.分布式系统基础设施 1 分布式缓存 memcache.分布式缓存 2 持久化存储 IOE ---> 开源软件+pc server的分布式架构 mysql的扩展.主从模式 hbase 列存储数据库 redis k-v数据库 3.消息系统 activeMQ 4.垂直化搜索引擎 lucene solr 三.安全架构 1 常见攻击手段 xss跨站脚本攻击 csrf跨站请求伪造 sql注入 文件上传漏洞 DDos分布式拒绝服务攻击 2 安全算法 摘要  md5 sha.十六进制

大型分布式网站架构设计与实践 笔记

一.分布式系统的基础设施 二.面向服务的架构 三.面向安全性的架构 四.面向稳定性的架构 1.在线日志分析