分布式系统优势及衡量指标

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/manongxiaomei/article/details/85330495

分布式系统:

分布式系统就是利用多台计算机协同解决单台计算机所不能解决的计算、存储等问题。单机系统与分布式系统的最大的区别在于问题的规模,即计算、存储的数据量的区别。–《分布式系统原理介绍》

分布式系统是若干独立计算机的集合,这计算机对用户来说就像单个相关系统。–<<分布式系统原理与范型>>

分布式系统是其组件分布在联网的计算机上,组件之间通过传递消息进行通信和动作协调的系统。–<<分布式系统概念与设计>> 第5版

分布式架构的优势:

1、单个服务宕机不影响别的服务正常运行!

2、单个节点所有的负载分布均衡到了多台服务器上!

3、各服务之间相互透明,实现解耦!

衡量分布式系统的指标

1、可扩展性

       系统的可扩展性(scalability)指分布式系统通过扩展集群机器规模提高系统性能(吞吐、延迟、并发)、存储容量、计算能力的特性。可扩展性是分布式系统的特有性质,分布式系统的设计初衷就是利用集群多机的能力处理单机无法解决的问题。然而,完成某一具体任务的所需要的机器数目即集群规模取决于系统的性能和任务的要求。当任务的需求随着具体业务不断提高时,除了升级系统的性能,另一个做法就是通过增加机器的方式扩展系统的规模。好的分布式系统总在追求“线性扩展性”,也就是使得系统的某一指标可以随着集群中的机器数量线性增长。

2、高性能

       无论是分布式系统还是单机系统,都会对性能(performance)有所要求。对于不同的系统,不同的服务,关注的性能不尽相同、甚至相互矛盾。常见的性能指标有:系统的吞吐能力,指系统在某一时间可以处理的数据总量,通常可以用系统每秒处理的总的数据量来衡量;系统的响应延迟,指系统完成某一功能需要使用的时间;系统的并发能力,指系统可以同时完成某一功能的能力,通常也用 QPS(query per second)来衡量。上述三个性能指标往往会相互制约,追求高吞吐的系统,往往很难做到低延迟;系统平均响应时间较长时,也很难提高 QPS。

3、高可用

       系统的可用性(availability)指系统在面对各种异常时可以正确提供服务的能力。系统的可用性可以用系统停服务的时间与正常服务的时间的比例来衡量,也可以用某功能的失败次数与成功次数的比例来衡量。可用性是分布式的重要指标,衡量了系统的鲁棒性,是系统容错能力的体现。

4、一致性

       分布式系统为了提高可用性,总是不可避免的使用副本的机制,从而引发副本一致性的问题。根据具体的业务需求的不同,分布式系统总是提供某种一致性模型,并基于此模型提供具体的服务。越是强的一致的性模型,对于用户使用来说使用起来越简单。例如通常我们总是希望某次更新后可以立刻读到最新的修改,如果成功更新后的数据依旧有可能不一致读到旧数据,那么用户就需要在写入数据时加入序列号等信息,并在读取数据时首先自行实现过滤去重后再使用数据。主数据与副本数据一致。

      

注1:

副本概念:

数据副本指在不同的节点上持久化同一份数据。

服务副本指数个节点提供某种相同的服务,这种服务一般并不依赖于节点的本地存储,其所需数据一般来自其他节点。

参考资料:《分布式系统原理介绍》作者:刘杰

如有错误欢迎指正!

猜你喜欢

转载自blog.csdn.net/manongxiaomei/article/details/85330495