1. 定义
分布式系统是自治计算机系统的集合,这些系统在物理上是分开的,但通过配备分布式系统软件的集中式计算机网络连接。自主计算机将通过共享资源和文件并执行分配给它们的任务在每个系统之间进行通信。2. 分布式系统示例:
任何社交媒体都可以将其集中式计算机网络作为其总部,任何用户都可以访问并使用其服务的计算机系统将成为分布式系统架构中的自治系统。
- 分布式系统软件:该软件使计算机能够协调其活动并共享硬件、软件、数据等资源。
- 数据库:它用于存储由连接到集中式网络的分布式系统的每个节点/系统处理的处理数据。
正如我们所看到的,每个自治系统都有一个通用的应用程序,该应用程序可以拥有自己的数据,这些数据由集中式数据库系统共享。为了将数据传输到自治系统,集中式系统应该具有中间件服务,并且应该连接到网络。
通过数据库传输的数据将被划分为多个段或模块,并与自治系统共享进行处理。中间件服务通过充当集中式系统和本地系统之间的接口,启用本地系统中不存在的某些服务或集中式系统默认值。通过使用中间件服务的组件,系统可以通信和管理数据。
数据将被处理,然后通过网络传输到集中式系统,并将存储在数据库中。
3. 分布式系统的特点:
- 资源共享:它是在系统中任何地方使用任何硬件、软件或数据的能力。
- 开放:它涉及系统的扩展和改进(即,软件开发和与他人共享的公开程度)
- 并发:它自然存在于分布式系统中,这些系统处理的相同活动或功能可由远程位置的不同用户执行。每个本地系统都有其独立的操作系统和资源。
- 可扩展性:它增加了系统的规模,因为许多处理器通过适应来提高系统的响应能力来与更多用户通信。
- 容错:它关心系统的可靠性,如果硬件或软件出现故障,系统继续正常运行而不会降低系统性能。
- 透明度:它向用户和应用程序隐藏了分布式系统的复杂性,因为每个系统都应该有隐私。
- 异质性:网络、计算机硬件、操作系统、编程语言和开发人员实现在分散的系统组件之间都可能有所不同。
4. 分布式系统的优点:
- 分布式系统中的应用程序本质上是分布式应用程序。
- 分布式系统中的信息在地理位置分散的用户之间共享。
- 资源共享(自治系统可以从远程位置共享资源)。
- 它具有更好的性价比和灵活性。
- 它具有更短的响应时间和更高的吞吐量。
- 它具有更高的可靠性和可用性,可防止组件故障。
- 它具有可扩展性,因此系统可以在更偏远的位置进行扩展,并且还可以进行增量增长。
5. 分布式系统的缺点:
- 分布式系统的相关软件目前不存在。
- 由于资源共享到多个系统,因此可以轻松访问数据,因此安全性存在问题。
- 网络饱和可能会导致数据传输障碍,即,如果网络存在滞后,则用户将面临访问数据的问题。
- 与单个用户系统相比,与分布式系统关联的数据库要复杂得多,管理起来也更具挑战性。
- 如果分布式系统中的每个节点都尝试一次发送数据,则网络可能会过载。
6. 分布式系统应用领域:
- 金融和商业:亚马逊、易趣、网上银行、电子商务网站。
- 信息社会:搜索引擎、维基百科、社交网络、云计算。
- 云技术:AWS,Salesforce,Microsoft Azure,SAP。
- 娱乐:在线游戏,音乐,优酷。
- 医疗:在线患者记录,健康信息学。
- 教育:电子学习。
- 运输和物流:GPS,谷歌地图。
- 环境管理:传感器技术。