可维护性分布式存储系统和分离的分布式系统

1.分布式系统的应该有两种基本的层次的架构。

1.1.普通的分布式系统架构,是典型的三层的架构,如下图的分离的分布式系统的一个子系统。

1.2.多个分布式系统构成的分布式系统的超级,可以构建云服务的分布式系统。

 

2.普通的分布式系统的构成

2.1简单分布式的组合构成的服务系统

   一般的分布式系统都具有三层架构层次,hand,master,svr。master保存路由表,hand为接入,svr为真正的逻辑服务器。可以对master的路由表操作实现分布。master动态探测svr的存活,进行路由表的更新。

   如果单纯的逻辑服务器(不带cache),这里的路由表的更新较为方便和简洁。如果是带有cache 的逻辑服务器则需要根据是脏cache还是干净cache,并迁移cache 的数据。由于在迁移过程中一般会对服务有影响,如果是脏cache,则需要等到迁移完成才能进行服务,这里就有个格子锁定的状态。因此对于具有脏cache 的服务分布式系统,复杂程度大了很多。并且在迁移的时候会影响到服务。

 

 

 

 

 

                                                图一  各个分布式的简单组合构成的服务系统典型架构

 

上图中有些系统没有hand模块是因为其master可能只需要管理其路由表。而路由表的拉取直接放在上一层的逻辑服务器。其接入机是镜像的接入。这种逻辑服务系统一般只能较小规模的业务接入和应用。原有有以下几点:

2.1.1.各个自己系统的具有自己的简单容灾机制,但是没有总体的容灾机制,

2.1.2.所有的接入是镜像的,则其配置都是一样的,如果这个系统承载多个服务,则无法轻松对其近区别服务,迁移和管理。即一个系统一旦搭建也运行,则很难对业务应用的服务进行控制,控制的粒度则一个系统级别。

2.1.3.其承载的业务愈多,则风险系数陡增。其接入服务器的bug会 导致所有服务的中断,其后端的逻辑服务器的bug会导致其一个系统的瘫痪。其业务的灰度升级无法做到真正意义上的灰度。因为其子系统没有业务管理的功能。无论灰度那一台机器,其影响都是系统的所有业务,一旦出现bug,将会对所有的业务产生影响。无法做到业务和机器的灰度,只能做到机器这个低级别的灰度。

 

因此这种分布式的简单组合无法承载较大业务的运行,只有将一定数量的业务放在一个系统,这样风险或许可承受,但是如果系统有所发展,接入的业务和应用越来越多,将会维护这样若干的系统。造成运维上的麻烦和低效率。

 

3. 可维护的分布式系统

   3.1 下面介绍可维护的分布式系统的构成和基本设计思想。目标就是要构建支持大规模业务应用的存储分布式存储系统。

     既然是存储系统,那么就会容纳许多业务,这个系统才有意义。当前的能够容纳很多业务的成熟概念就是云的概念,没错,我么就是要构建这样一个具有云系统概念的分布式存储系统。

     其基本目标就是要能够轻松的做到对不同业务的管理和维护,调度。在大规模的业务的场景下,能够很好的支撑和运营。

    下面是其基本的架构思想。

 

 3.2 基本设计思想:

3.2.1 整个系统由统一的接入,统一的控制中心组成,后端的逻辑分布式子系统组成

3.2.2 整个系统的master都具有容灾,路由和按照一个中心master的指令来进行操作的功能,即中心master具有管理的功能,能够对业务进行控制和管理,然后根据策略中心生成的策略对整个系统进行均衡,迁移和管理操作。

        3.2.3 支持大规模的业务接入,提高系统的安全性。如果某一个业务有故障,中心master可以根据一定的策略将其布置在单独的机器行,并且将其他业务部署在其他机器上,实现业务的快速隔离。

  3.2.4 其对业务级别和机器级别,模块级别的灰度将表现非常优秀。中心master可以部署某个业务的某些访问在灰度的机器上。灰度的控制非常灵活和到位。

 

4.总结

 

       具有可维护的分布式系统需要一个统一的控制中心。即cmaster(中心控制器)。可以对业务进行很好的调度和控制,所有的master

都应该具有这样的功能,具有调度和控制的功能。这样的系统才具有云服务系统的基础。

 

更多认知,感悟,成长干货,技术分享,请关注我的公众号「成为很厉害的人」。

你可能感兴趣的:(网络后台)