banner

消息机制与 RPC

消息机制主要用于端到端的延迟通信;而RPC用于端到端的同步通信。

在RPC机制下,用于接收数据的进程必须在数据发送时处于执行状态。如果在消息发送过程中,接收进程死掉了,则数据将不能再传输。

相反,在消息传递机制下,则可以在服务进程死掉后,仍然可以发送消息,而不必因为此时服务进程没有接收消息而阻塞或重发消息。这是因为,基于消息机制时,消息被放置在一个消息队列中,而且服务进程可以在任何时候取得所属自己的消息。因此,在发送消息时,服务进程是否在执行不再重要。

消息机制和RPC的各自特点:

消息机制的特点客户在等待对方进程的应答时,可以自由的执行其他的操作。消息机制允许对一个请求发多个应答或多个请求发一个应答。消息机制适合具有较长交易周期的应用。消息机制可以通过以任何顺序从消息队列中取走消息、的形式,来支持优先级和负载均衡。消息机制可以支持容错。消息机制主要用于支持大型系统和分布范围很广的分布式系统。

RPC机制的特点提供了一个较高层次上的通信抽象,更完全地隐藏了应用分布的实质。尽可能地优化了客户和服务器之间的交互,因为这种机制直接的请求/应答协议支持。客户在等待一个服务应答时,只是简单地等待。

  • 归档 分类 标签 关于