17.1 异步消息简介
Last updated
Last updated
与前面几章中介绍的远程调用机制以及 REST 接口类似,异步消息也是用于应用程序之间通信的。但是,在系统之间传递信息的方式上,它与其他机制有所不同。
像 RMI 和 Hessian/Burlap 这样的远程调用机制是同步的。如图 17.1 所示,当客户端调用远程方法时,客户端必须等到远程方法完成后,才能继续执行。即使远程方法不向客户端返回任何信息,客户端也要被阻塞直到服务完成。
消息则是异步发送的,如图 17.2 所示,客户端不需要等待服务处理消息,甚至不需要等待消息投递完成。客户端发送消息,然后继续执行,这是因为客户端假定服务最终可以收到并处理这条消息。
相对于同步通信,异步通信具有多项优势,我们很快就会看到这些优点。但是首先,让我们看看如何异步发送消息。