zoukankan      html  css  js  c++  java
  • 分布式存储系统设计(1)—— 系统架构

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

    整体架构

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

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

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

    接入层

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

    数据层

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

    配置运维中心

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

    备份系统

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

    监控系统

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

    运维管理系统

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

    用户运营系统

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

  • 相关阅读:
    java常见异常归纳
    内存泄露和内存溢出
    2015年工作中遇到的问题91-100
    WIN7下运行hadoop程序报:Failed to locate the winutils binary in the hadoop binary path
    WIN7下运行hadoop程序报:Failed to locate the winutils binary in the hadoop binary path
    Mongodb总结6-数据库启动、停止、备份等命令
    Mongodb总结5-通过装饰模式,用Mongodb解决Hbase的不稳定问题
    Mongodb总结5-通过装饰模式,用Mongodb解决Hbase的不稳定问题
    设置Maven默认的JDK为1.7,解决Update Maven Project默认为1.5和Maven打包报错2个问题
    设置Maven默认的JDK为1.7,解决Update Maven Project默认为1.5和Maven打包报错2个问题
  • 原文地址:https://www.cnblogs.com/glacierh/p/5543764.html
Copyright © 2011-2022 走看看