架构师训练营 (一)

架构师训练营 (一)

 

网盘download:架构师训练营 算法

(提娶玛:5kkx)服务器

海量分布式存储系统Doris 的高可用架构设计分析网络

Doris  是一个海量分布式 KV 存储系统,其设计目标是支持中等规模高可用可伸缩的 KV 存储集群。跟主流的 NoSQL 系统 HBase 相比较(Doris0.1 VS HBase0.90),Doris 具备类似的性能和线性伸缩能力,并具备更好的可用性以及更友好的图形用户管理界面。对于一个数据存储系统而言,高可用意味着两个意思:
高可用的服务:任什么时候候,包括宕机、硬盘损坏、系统升级、停机维护、集群扩容等各类状况下,均可以对系统进行读写访问操做。
高可靠的数据:任何状况下,数据可靠存储,不丢失。
那么高可用的架构设计也就主要是在各类软硬件故障状况下,系统如何保障数据可靠存储,服务可用。架构

1 分布式存储系统的高可用架构并发

对于一个大规模集群的存储系统而言,服务器宕机、交换机失效是常态,架构师必须为这些故障发生时,保证系统依然可用而进行系统设计。系统架构层面,保证高可用的主要手段是――冗余:服务器热备,数据多份存储。使整个集群在部分机器故障的状况下能够进行灵活的失效转移(Failover),保证系统总体依然可用,数据持久可靠。Doris 系统架构如图 11.1 所示。运维

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

                                                     图 11.1 Doris 的总体架构
系统总体上可分为三个部分分布式

一、应用程序服务器:它们是存储系统的客户,对系统发起数据操做请求。ide

二、数据存储服务器:存储系统的核心,负责存储数据、响应应用服务器的数据操做请求。性能

三、管理中心服务器:这是一个由两台机器组成的主-主热备的小规模服务器集群,主要负责集群管理, 对数据存储集群进行健康心跳检测;集群扩容、故障恢
复管理;对应用程序服务器提供集群地址配置信息服务等。spa

    其中数据存储服务器又根据应用的可用性级别能够设置数据复制份数,即每一个数据
实际物理存储的拷贝数目,复制份数越多,可用性级别越高,固然须要的服务器也越多。
为了便于管理和访问数据的多个拷贝,交流VcmL46679910)将存储服务器划分为多个序列,数据的多个拷贝
存储在不一样的序列中(序列能够理解为存储集群中的子集群)。
  应用服务器写入数据的时候,根据集群配置和应用可用性级别使用路由算法在每一个
序列中计算获得一台服务器,而后同时并发写入这些服务器中;应用服务器读取数据的
时候,只须要随机选择一个序列,根据相同路由算法计算获得服务器编号和地址,便可
读取。一般状况下,系统最少写入的拷贝份数是两份。如图 11.2 所示。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

                                                                             图 11.2 Doris 系统调用时序模型
  在正常状态下,存储服务器集群中的服务器互不感知,不进行任何通信;应用服务
器也只在启动的时候从管理中心服务器获取存储服务器集群信息,除非集群信息发生变
化(故障、扩容),不然应用服务器不会和管理中心服务器通信。通常而言,服务器之
间通信越少,就越少依赖,发生故障时候互相影响就越少,集群的可用性就越高。

2 不一样故障状况下的高可用解决方案
高可用的系统须要解决在不一样故障状况下都保持较高的系统可用性,可是不一样故障类型带来的问题复杂性不一样,不可能使用一种解决方案处理全部状况,须要针对各类故障提供具体解决方案。

  分布式存储系统的故障分类:
在讨论解决方案以前,咱们先对故障进行分类,针对不一样故障状况,分别处理对待。
对于一个分布式存储系统而言,影响系统总体可用性的故障能够分红三类:
  一、瞬时故障:引发这类故障的主要缘由是网络通信瞬时中断;服务器内存垃圾回收或后台线程繁忙中止数据访问操做响应。其特色是故障时间短,在秒级甚至毫秒级系统便可自行恢复正常响应。
  二、临时故障:引发这类故障的主要缘由是交换机宕机、交流VcmL46679910)网卡松动等致使的网络通信中断;系统升级、停机维护等通常运维活动引发的服务关闭;内存损坏、CPU
过热等硬件缘由致使的服务器宕机;这类故障的主要特色是须要人工干预(更换硬件、重启机器等)才能恢复正常。一般持续时间须要几十分钟甚至几小时。故障时间可分为两个阶段:临时故障期间,临时故障恢复期间。
3永久故障:引发这类故障主要缘由只有一个:硬盘损坏,数据丢失。虽然损坏硬盘和损坏内存同样,能够经过更换硬盘来从新启动机器,可是丢失的数据却永远找不回来,所以其处理策略也和前面两种故障彻底不一样,恢复系统到正常状态也须要更长的时间。故障时间可分为两个阶段:永久故障期间,永久故障恢复期间。

正常状况下系统访问结构在只使用两份拷贝做为高可用策略的状况下,系统访问结构如图 11.3 所示。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

                                                                            图 11.3 正常状况下 Doris 访问模型
  应用程序在写数据的时候,须要路由计算得到两台不一样的服务器,同时将数据写入
两台服务器;而读数据的时候,只须要到这两台服务器上随机一台服务器读取便可。

瞬时故障的高可用解决方案

  瞬时故障是一种严重性较低的故障,通常系统通过较短暂的时间便可自行恢复,遇
到瞬时故障,只须要通过屡次重试,就能够从新链接到服务器,正常访问。如图 11.4
所示。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

                                                   图 11.4 Doris 瞬时故障解决方案

  若是应用屡次重试后,仍然失败,那么有可能不是瞬时故障,而是更严重的临时故障,这时候须要执行临时故障处理策略。 固然也有多是应用服务器本身的故障,好比系统文件句柄用光致使链接不能创建等,这时候须要请求管理中心服务器进行故障仲裁,以断定故障种类。瞬时故障,系统访问模型。

相关文章
相关标签/搜索