分布式存储系统设计(1)—— 系统架构

分布式存储系统是为了解决单机存储所存在的容量、性能等瓶颈,以及可用性、扩展性等方面的问题,通过把数据分散存储在多台存储设备上,为大规模的存储应用提供大容量、高性能、高可用、扩展性好的存储服务。这一系列的文章介绍一种典型的分布式存储系统的设计和实现,该系统已经服务大量的业务,达到了数百T的存储量,经受了海量服务的考验。

整体架构

系统的整体架构如下图所示,其中逻辑层是存储服务的使用方。系统由两大部分组成,一部分是图中数据仓库包含的模块,是直接提供数据存储服务的核心部分,由接入层、数据层、配置运维中心组成;另一部分是辅助系统,主要负责系统的监控、运维和运营备份系统、监控系统、运维管理系统、用户运营系统组成。

一个数据仓库就是一个存储集群,多个业务可以共享一个数据仓库的资源,我们根据需求可以部署多个数据仓库,辅助系统是所有数据仓库共用的。

下面简单介绍一下各个模块的主要功能。

接入层

接入层主要是提供两个功能,一是对逻辑层访问接入层进行负载均衡;二是实现数据分片,即把访问数据的请求转发数据所在的数据层设备。

数据层

数据层就是存储数据,存储介质可以支持内存或SSD。读写服务是处理用户的读写请求;同步模块多份数据拷贝之间的主备同步;运维工具是用于执行主备切换、死机恢复、扩容等运维操作。

配置运维中心

配置运维中心由3部分组成。配置中心负责整个仓库的配置维护和下发;配额中心负责各个业务级别的容量、流量、CPU等资源的配额管理;运维中心用于自动或手动下发运维命令。

备份系统

备份系统负责整个系统所有业务的数据备份、回档和恢复。流水中心会记录所有写操作的流水;任务中心管理和调度所有数据备份、回档和恢复任务的执行。

监控系统

监控系统对系统的关键信息和运行状况进行上报和分析,对异常情况进行监控和告警。打点上报是对系统的关键路径、异常点等进行计数或状态上报;多维上报是对打点上报的一个补充,上报了更多维度的信息。

运维管理系统

运维管理系统的使用者是系统运维人员,可以方便地进行业务管理和运维操作,如进行配置管理、故障管理、业务扩容等常用操作;还可以查看系统运行状况和业务运营数据。

用户运营系统

用户管理系统的使用者是使用存储服务的用户,用户通过该系统可以掌握所接入业务的运营数据,以及进行用户级的业务管理和运维操作,如续费、扩容、数据清空、数据备份、数据恢复等。

时间: 05-30

分布式存储系统设计(1)—— 系统架构的相关文章

系统架构~高并发日志系统设计

对于一个项目来说,日志是必须的,一般日志的持久化方式有文件和数据库,而在多数情况下,我们都采用文件系统来实现,而对于高并发的情况下,频繁进行I/O操作,对系统的性能肯定是有影响的,这个毋庸置疑!针对这种高并发的场合,我们采用一种缓存队列的方式来处理这个Case是比较明智的,本文主要是向各位展现一下,我所设计的<高并发日志系统设计>,如在功能上有什么需要改进的地方,欢迎各位来回复. 一 项目结构图 二 项目实现代码 /// <summary> /// 工作任务基类 /// </

Kubernetes的系统架构与设计理念

Kubernetes与云原生应用简介 随着Docker技术的发展和广泛流行,云原生应用和容器调度管理系统也成为IT领域大热的词汇.事实上,云原生应用的思想,在Docker技术火爆之前,已经由云计算技术的领导者和分布式系统架构的推广者广泛传播,例如云原生应用的12要素早在2011年就由Heroku的工程师提出了:只不过以虚拟机技术作为云原生应用的基础实施,由于虚拟机镜像大.镜像标准不统一以及打包流程和工具不统一,无法业界广泛接受的云原生应用标准,限制了云原生应用的流行.而Docker的出现正好解决

大型分布式电商系统架构是如何从0开始演进的?【转】

本文是学习大型分布式网站架构的技术总结.对架构一个高性能.高可用.可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考.文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值. 一.大型分布式网站架构技术 1.大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 2.大型网站架构目标 高性能:提供快速的访问体验. 高可用:网站服务一直可

2014系统架构师大会随感

前言: 关于在2014会场上的一点随记. 系统架构师大会第二天,上午依然是一个主会场.四个议题,第一个来自腾讯,主要讲解是研发团队的组织和管理,一个非常精彩的议题,当然相对于腾讯这个巨无霸而言,团队的高效率和组织管理还是非常有一套的,基于矩阵的管理,小团队的模式等还是比较实用的团队管理技巧. 第二个议题是某家厂商对性能监控管理的内容,主要是讲述了基于App的性能监控和基于服务端的性能监控分析的解决方案.技术上的内容无非就是那些我们可以想象得到的内容,其中比较出彩的部分是关于其加入锚点之后,针对程

IM系统架构设计之浅见

背景:除去大名鼎鼎的QQ这款即时聊天工具,还有许多细分行业的IM,比如淘宝阿里旺旺.网易泡泡.YY语音.......恰巧公司产品也要开发一款基于我们自己行业的类IM系统,很有幸我担当了这个产品的架构师,核心代码编写.实现者.下面我近年来从技术上我对IM系统(即时消息的传输,不包括语音,视频,文件的传输)的理解和设计分享出来,浅薄之见,望大家别见笑,欢迎给出批评意见. 一.网络传输协议的选择 目前我知晓的所有IM系统传输即时消息无外乎使用UDP.TCP.基于TCP的http这几种协议中的一种或几种

微信系统架构

微信的成功归结于腾讯式的"三位一体"策略:即产品精准.项目敏捷.技术支撑.微信的成功是在三个方面的结合比较好,能够超出绝大多数同行或对手,使得微信走到比较前的位置.所谓产品精准,通俗的讲就是在恰当的时机做了恰当的事,推出了重量级功能,在合适的时间以最符合大家需求的方式推出去.他认为在整个微信的成功中,产品精准占了很大一部分权重. 敏捷是一种态度 敏捷就是试错 微信研发团队里鼓励一种试错的信仰:他们坚信,在互联网开发里,如果能够有一个团队在更短的时间内尝试了更多机会(并能改进过来),就能

HBase系统架构及数据结构(转)

原文链接:Hbase系统架构及数据结构 HBase中的表一般有这样的特点: 1 大:一个表可以有上亿行,上百万列 2 面向列:面向列(族)的存储和权限控制,列(族)独立检索. 3 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏. 下面一幅图是Hbase在Hadoop Ecosystem中的位置. 二.逻辑视图 HBase以表的形式存储数据.表有行和列组成.列划分为若干个列族(row family) Row Key 与nosql数据库们一样,row key是用来检索记

大型网站系统架构

大型网站系统架构 dubbo+ssh+nginx负载均衡/动静分离+数据库主从+缓存+分布式存储+队列 1.缓存--利用缓存改善网站性能a.缓存包含本地缓存和分布式缓存:本地缓存如OSCache,分布式缓存如Memcached.Redis. b.本地缓存和分布式缓存的特点本地缓存的特点是速度快,但是本地空间有限所以缓存数据量也有限.分布式缓存的特点是,可以缓存海量的数据,并且扩展非常容易,响应速度没有本地缓存快. 2.服务器集群--使用服务器集群改善应用服务器性能应用服务器作为网站的入口,会承担

系统架构师的职责和作用(转)

系统架构师的职责和作用(转) [职业名称] 系统架构师(System Architecture) [职业定位] 系统构架,是对已确定的需求的技术实现构架.作好规划,运用成套.完整的工具,在规划的步骤下去完成任务. 系统架构师(又称企业架构师或者系统设计师)是一个最终确认和评估系统需求,给出开发规范,搭 建系统实现的核心构架,并澄清技术细节.扫清主要难点的技术人员.他/她主要着眼于系统的“技术实现”.因此他/她应该是特定的开发平台.语言.工具的大 师,对常见应用场景能马上给出最恰当的解决方案,同时

人人网张铁安:Feed系统架构分析(转)

原文:http://www.csdn.net/article/2010-07-26/277273 继成功举办首期TUP活动后,日前在北京丽亭华苑酒店鸿运二厅,由CSDN和<程序员> 杂志联合策划组织的TUP第二次活动如期而至,本次活动以Web 2.0技术为主题,聚焦当下火热的社交网.微博架构与实时搜索领域.就相关领域及产品研发背后的技术.产品设计及用户体验话题为与会者提供全开放式的交流 平台.即使是付费沙龙,参会报名人数仍在不断上升,本次活动有超过300人来到现场. 人人网技术经理张铁安 以下