分布式系统与RPC概述
目录
1、分布式系统
1.1 分布式系统概念
《分布式系统原理与范型》定义:
“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”
分布式系统(distributed system)是建立在网络之上的软件系统。
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。
1.2 分布式系统的特点
(1)分布性:系统中的多台计算机之间没有主、从之分,即没有控制整个系统的主机,也没有受控的从机。
(2)透明性:系统资源被所有计算机共享。每台计算机的用户不仅可以使用本机的资源,还可以使用本分布式系统中其他计算机的资源(包括CPU、文件、打印机等)。
(3)同一性:系统中的若干台计算机可以互相协作来完成一个共同的任务,或者说一个程序可以分布在几台计算机上并行地运行。
(4)通信性:系统中任意两台计算机都可以通过通信来交换信息
1.3 分布式系统的优缺点
优点:
(1)经济:随着微处理机技术的发展,现在人们只需花不多的钱就能买到一个CPU芯片。分布式系统通常就是在一个系统中使用集中在一起的大量廉价CPU,可以得到比单个大型集中式系统好的多的性能价格比。
(2)快速:分布式系统由于使用了并行处理技术,因此它总的计算能力比单个的大型集中式系统强很多。
(3)可靠:分布式系统中工作负载都是分散在多台机器上,单个机器故障只会使一台机器停机,而不会影响其他机器,从而获得很高的可靠性。在系统中多台机器同时出现故障的概率是很低的,理想情况下,某一时刻如果有5%的计算机出现故障,系统仍能继续工作。因此对于关键性的应用,一般都采用分布式系统来获得高可靠性。
(4)易扩充:分布式系统允许系统在需求增长时逐渐进行扩充。因此在分布式系统组成后,可以方便地添加若干台计算机,既不用修改软件,也不用另行设计硬件。
(5)数据共享:允许多个用户访问一个公共的数据库。例如,机票预定系统中的每个售票员需要访问航班及座位信息,如果将航班及座位信息数据库给他们每人备份一个,其实是无法工作的,因为他们不知其他人已经卖了哪些座位,所以计算机必须互连。而互连本身就产生了分布式系统。
(6)设备共享:共享并不局限于数据,有些昂贵的外围设备,如彩色激光打印机、照相排版机和大型存储设备等,都允许多个用户共享。
(7)通信:使人们之间的通信变得更加容易