首页 > 其他分享 >分布式系统的特性

分布式系统的特性

时间:2022-11-22 18:14:26浏览次数:49  
标签:系统 特性 容错性 Storm 分布式系统 节点 开放性

互联网上有许多的应用程序和服务,它们都有可能出现故障,但在很多时候,我们几乎都不能发现这些服务中断的情况,这就是分布式系统的关键特性。分布式系统的特性包括容错性、高可扩展性、开放性、并发处理能力和透明性。

1.容错性

设计分布式系统的过程中,就会把容错性作为开发系统的首要目标之一。这样,一旦在分布式系统中某个节点发生故障,利用容错机制即可避免整套系统服务不可用。

故障恢复对于分布式系统设计与开发来说极其重要。当服务器崩溃后,我们需要通过一种方法来回滚永久数据的状态,确保尚未处理完成的数据不被传递到下一个状态继续处理,并解决多个节点数据可能存在的不一致性问题,这往往涉及事务性。常见的避免故障的方法包括消息重发、冗余等。

2.高可扩展性

高可扩展性是指系统能够在运行过程中自由地对系统内部节点或现有功能进行扩充,而不影响现有服务的运行。下面是一个现代分布式系统设计的案例Storm实时处理系统。在 Storm 中,节点主要由 Spout 和 Bolt 两大类组成,Spout作为消息源会将搜集到的数据发送到 Storm 计算拓扑中,再通过一系列消息处理单元 Bolt 进行分布式处理,最终将处理结果合并得到最终结果。利用这种机制,可以随意在消息处理单元后进行扩充,如果数据处理的结果还达不到需求,可在 Storm 计算拓扑中继续追加新的消息处理单元,直至满足需求。图1所示为基本的Storm 实时处理系统拓扑结构图,其中每个方框都是一个节点。

图 1 基本的 Storm 实时处理系统拓扑结构

 3.开放性

分布式系统的开放性决定了一个系统是否具备自我扩展和与其他系统集成的能力。我们可以通过对外提供开放应用程序编程接口(API)的方式来提高分布式系统的开放性,提供哪些接口及如何提供决定了开发的系统的开放程度,以及与现有系统和其他系统集成、扩展的能力。

4.并发处理能力

分布式系统引发的一个问题就是并发导致的一致性该如何处理在分布式系统中。因此,对象的并发或同步操作必须确保数据的一致性。除了一致性之外,人们还希望可以一直对系统进行读写,这就是所谓的可用性。

5.透明性

在分布式系统内部,可能有成千上万个节点在同时工作,对用户的一个请求进行处理,最终得出结果。系统内部细节应该对用户保持一定程度的透明,我们可以为用户提供资源定位符(URL)来访问分布式系统服务,但用户对分布式系统内部的组件是无从了解的。

因此,我们应该把分布式系统当作一个整体来看待,而不是多个微型服务节点构成的集合。

标签:系统,特性,容错性,Storm,分布式系统,节点,开放性
From: https://www.cnblogs.com/tiduyun/p/16915978.html

相关文章

  • java8 (jdk 1.8) 新特性——Stream ApI
    在java8中,有两个最重要的改变,一个就是之前了解的Lmbda java8(jdk1.8)新特性——Lambda ,还有一个就是StreamApi 1.什么是StreamAPI 简单来说就是一个类库,里边......
  • PHP 新特性 linux安装ssh2
    p7新特性p7新特性http://www.aichengxu.com/view/5446277 已经云http://www.lai18.com/content/2442224.html 已经云p7安装ssh2http://www.mobibrw.com/2016/4049//ssh2最......
  • 多进程实现TCP服务端并发、互斥锁代码实操、线程理论、创建线程的两种方式、线程的诸
    多进程实现TCP服务端并发importsocketfrommultiprocessingimportProcessdefget_server():server=socket.socket()server.bind(('127.0.0.1',8080))......
  • Grafana9最新版新新特性
    Grafana9于6月在GrafanaCONline2022上发布,其中最大的亮点之一是引入了新的GrafanaLoki和普罗米修斯查询生成器。官网描述的新特性比较详细。VisualPrometheus查......
  • 化学特性
         生源要素中最主要是N,我们在施肥的时候也是氮肥量大       核电站需要水冷却,所以一般建在海边。      ......
  • ​交换机在设计上具备哪些特性
     从外观上看,和商用的switch有很大区别。不仅有类似商用开关的机架式开关,还有M12插座和PCB板的开关,还有小型化导轨开关。在设计上,工业交换机必须具备以下特性,才能更好地满......
  • Java8的新特性
    Java8的新特性1.*新特性简介速度更快代码更少(增加了新的语法Lambda表达式)强大的StreamAPI便于并行最大化减少空指针异常Optional其中最核心的是Lambda表达式和S......
  • Java新特性(2):Java 10以后
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~虽然到目前为止Java的版本更新还没有什么惊天动地的改变,但总是会冒出一些有趣的小玩意。前面列举了Java9和Java10的一些特......
  • Java的特性和优势
    简单的(摒弃指针、结构、枚举,提供类库)面向对象可移植性多线程(在语言级支持多线程的程序设计,就像做一张桌子)动态性安全性健壮性(内存回收机制,避免内存泄露)分布式与......
  • 特性Attribute的简单用法
    一、建立一个自定义的Attribute类注:类名+Attribute,类需要继承Attribute  ///<summary>///特性///</summary>publicclassSensitiveFileTypeA......