最近这段时间一直在看分布式有关的东西,但是关于分布式自己还是不能很好的理解,所以本文对分布式基础概念进行下学习.
首先先了解一下分布式处理,分布式处理和集中式处理正好是相反的的体系架构,集中传输集中到式处理顾名思义就是将所有的信息都一个统一的信息中心进行处理;分布式处理就是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机利用通信网络连接起来,让各个计算机各自承担同一个工作任务的不同部分,在控制中心的管理下,同时运行,共同完成同一个工作任务。
提到分布式处理就不能不提到并行处理,并行处理就是多个计算机同时工作,让计算机并行的来工作。 进一步说,集中在同一个机柜内或同一个地点的紧密耦合地点多处理机系统或大规模处理系统是并行处理系统,而用局域网或广域网连接的计算机系统是分布式处理系统。所以广义上的说,分布式处理也可以认为是一种并行处理的形式。
分布式处理介绍完以后,分布式系统也就应运而生了,分布式软件系统定义很好理解,就是跟该软件系统有关的某些内容可以用分布式处理,这样的软件系统就是分布式软件系统.
上面提到的跟该软件系统有关的某些内容,这个某些内容都包括了什么了呢,如分布式计算机系统、分布式程序设计、分布式文件系统和分布式数据库系统等。
分布式计算机系统是由多个分散的计算机经互连网络构成的一个统一的计算机系统,即由物理上的多个分散的计算机经过互联网络组成逻辑上的一个计算机,每个物理上的计算机就相当于一个结点,而互联网就起将多个结点进行联通,让各个结点间可以做到相互通信,也就构成了一个统一的逻辑上的计算机了。
逻辑上的计算机统一管理多个分散的物理计算机,来动态的管理资料、实现任务分配或者功能分配,即强调资源、任务、功能和控制的全面分布。
可在分布计算机系统的几台计算机上同时协调执行的程序设计方法就是分布式程序设计语言。分布式程序设计语言与常用的程序设计语言主要区别就是,分布式程序设计语言具有程序分布和通信的功能。
采用分布式程序设计方法设计程序时,一个程序由若干个可独立执行的程序模块组成,这些程序模块分布于在不同的计算机同时执行,分布在各台计算机上的程序模块是相互关联的,它们在执行中需要交换数据,即通信,只有通过通信,各程序模块才能协调的完成一个共同的计算任务。
了解了分布式计算机系统以后,学习分布式文件系统就简单多了,分布式文件系统就是将固定于某个地点的某个文件系统,扩展到任意多个地点,众多的的物理上的分散的计算机结点组成一个文件系统网络。每个结点可以分布在不同的地点,通过网络进行结点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。所以分布式文件系统有效的解决了数据的存储和管理难题,分布式文件系统除了改变了数据的存储和管理方式,也拥有了本地文件系统所无法具备的数据备份、数据安全等优点。
分布式数据库系统就是物理上是分布的,但逻辑上却是集中的。应用程序使用时,对数据库的操作都是透明的也就是当做一个数据库来操作就可以,实际上数据库中的数据分别在不同的局部数据库中存储、由不同的DBMS进行管理、在不同的机器上运行、由不同的操作系统支持、被不同的通信网络连接的。
从用户的角度看,一个分布式数据库系统在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。就好像那些数据是存储在同一台计算机上,有单个数据库管理系统(DBMS)管理一样,用户并没有什么感觉不一样。
关于分布式的一些基本概念,本篇文章就先介绍这么多,后续会继续介绍关于分布式的深入的学习。
原文:http://blog.csdn.net/zwk626542417/article/details/44757973