同步方式的消息发送和异步方式的消息发送
2012-05-22 17:29
211 查看
通信有两类不同的基本方式: 具有依时性的同步方式以及与时间无关的异步方式。消息传送中间件有许多不同类型, 它们分别都能够支持一类基本方式的消息通信, 有时可以支持两类方式。
根据定义, 同步执行的特征为: 在两个通信应用系统之间必须要进行同步, 两个系统必须都在正常运行, 并且会中断客户端的执行流, 转而执行调用。发送程序和接收程序都必须一直做好相互通信的准备。发送程序首先向接收程序发起一个请求(发送消息)。发送程序紧接着就会堵塞它自身的进程, 直到收到接收程序的响应。发送程序在收到响应后会继续向下进行处理。同步方式的请求/响应通信如图2.6所示。在2.4节中, 将讨论同步通信的一个具体实例——远程过程调用。
当使用异步消息传送时, 调用者在发送消息以后可以不用等待响应, 可以接着处理其他任务。对于异步通信, 一个应用程序(请求者或发送者)将请求发送给另一个应用程序, 然后可以继续向下执行它自身的其他任务。发送程序无须等待接收程序的执行和返回结果, 而是可以继续处理其他请求。与同步方式不同, 异步方式中两个应用系统(发送程序和接收程序)无须同时都在运行, 也无须同时都在处理通信任务。
通常使用排队机制来实现异步消息传送。有两种不同类型的排队方式: 存储/转发、 发布/订阅, 在2.5节中将讨论这两类排队方式。
在选择通信方式的类型时, 必须仔细斟酌松耦合接口和紧耦合接口的利弊, 以及异步交互和同步交互的利弊。在下面的两节中, 我们将更详细地讨论这些通信方式。
消息可分为 同步消息 和 异步消息 .同步消息是指消息的发送者必须等待消息处理结果返回才可以继续运行的消息类型。
根据定义, 同步执行的特征为: 在两个通信应用系统之间必须要进行同步, 两个系统必须都在正常运行, 并且会中断客户端的执行流, 转而执行调用。发送程序和接收程序都必须一直做好相互通信的准备。发送程序首先向接收程序发起一个请求(发送消息)。发送程序紧接着就会堵塞它自身的进程, 直到收到接收程序的响应。发送程序在收到响应后会继续向下进行处理。同步方式的请求/响应通信如图2.6所示。在2.4节中, 将讨论同步通信的一个具体实例——远程过程调用。
通常使用排队机制来实现异步消息传送。有两种不同类型的排队方式: 存储/转发、 发布/订阅, 在2.5节中将讨论这两类排队方式。
在选择通信方式的类型时, 必须仔细斟酌松耦合接口和紧耦合接口的利弊, 以及异步交互和同步交互的利弊。在下面的两节中, 我们将更详细地讨论这些通信方式。
消息可分为 同步消息 和 异步消息 .同步消息是指消息的发送者必须等待消息处理结果返回才可以继续运行的消息类型。
相关文章推荐
- 同步方式的消息发送和异步方式的消息发送
- ActiveMQ生产者以同步和异步方式发送消息
- Netty:实现同步发送并接收消息的一种方式
- ActiveMQ的Topic方式实现异步的邮件发送和接收消息(m 3ff0
- MFC发送消息函数PostMessage(异步)和SendMessage(同步)的异同
- 同步和异步Httpclient通过get和post方式发送请求
- JMS 中消息的 同步消费 和 异步消费(listener的方式)
- 消息的同步发送,异步发送以及消息发送的可靠性
- 同步和异步关注的是消息通信机制,阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态
- ActiveMQ5.0.1+Spring实现JMS异步消息发送
- RabbitMQ学习之基于spring-rabbitmq的消息异步发送
- 最近发现系统rabbitmq丢消息比较严重,于是想了些方案来查找原因,给将消息发送方式添加确认机制。 我们在本地模拟了wms发送打标消息的场景. 1. 有事务 2. 先发点对点队列, 再发订
- 自定义Volley添加请求头、发送Post请求、Volley的同步和异步、getParams 不被调用
- 同步、异步方式对SEO搜索引擎优化的影响
- RabbitMQ学习之spring整合发送同步消息(注解实现)
- 浅谈js文件引用方式及其同步执行与异步执行
- java模拟异步消息的发送与回调
- 进程间互斥、进程间同步 & 消息通信机制的同步、异步
- ajax基础 GET,POST方式传值,同步异步
- Java模拟异步消息的发送与回调