分布式系统通信
一 通信概述:
(1)进程间通信时所有分布式系统的核心。
(2)分布式系统通信的特点:
*通信的隐藏对于在分布式系统中实现访问透明性是很重要的。
(3)分布式系统中进程间通信的模型:
*远程调用技术:RPC和RMI
*面向消息的中间件:消息传递机制。
*分布式共享内存(DSM:Distributed Shared Memory):用于给不共享物理内存的计算机共享数据。
*流:支持对时间敏感的消息。
*多播通信
二 远程调用技术:
(1)RPC(remote procedure call):远程过程调用,目的将消息传递的大部分复杂性隐藏起来,一个调用过程可以像调用本地节点上的过程那样去调用一个远程节点上的过程,比较适合于客户-服务器应用程序。实例:Sun RPC、DCE RPC等。
(2)RMI(remote method invocation):远程方法调用,RMI与RPC类似,不同的是RMI在分布式系统中使用了面向对象的编程概念,把对象的引用扩展到全局分布式环境中,因此在远程调用中可以把对象引用作为参数。
(3)远程调用技术的局限:
*发出请求时需要,需要接收端存在,即发送者和接收者都存在时才可通信。
*RPC和RMI的同步特性也会造成客户在发出的请求在处理之前被阻塞。
三 分布式系统中面向消息的通信:
(1)面向消息的瞬时通信:套接字和MPI。
(2)面向消息的持久通信:消息队列系统。实例:IBM WebSphere。
四 分布式共享内存DSM:
(1)用途:分布式共享内存是一种抽象,用于给不共享物理内存的计算机共享数据,好像进程在访问单个共享内存,事实上物理内存是分布的。
五 面向流的通信:
*待补充
六 多播通信:
*待补充