RocketMQ的消费发送分为三种:单向(one way),异步(async),同步(sync)。<br />1):单向:消息生产者(Producer)根据Topic路由信息向Broker调用RocketMQ的API进行发送消息,发送后直接返回,不进行等待消息反馈。缺点:无法确定消息是否发送成功。<br />2):异步:消息生产者(Producer)根据Topic路由信息向Broker调用RocketMQ的API进行发送消息,发送时指定消息反馈回调函数,发送后立即返回,线程不做任何阻塞。缺点:使用回调函数,不利于流程控制。优点:执行效率高,节省时间。<br />3):同步:消息生产者(Producer)根据Topic路由信息向Broker调用RocketMQ的API进行发送消息,发送后同步等待消息反馈,线程阻塞。缺点:线程阻塞影响性能,执行效率低。优点:利于流程控制,不出意外。
RocketMQ消息
RocketMQ消息封装类:org.apache.rocketmq.common.message.Message
扩展属性:
tags:消息tag,用于消息过滤。
keys:消息索引键,用空格隔开,RocketMQ可以根据这些key快速检索消息。
waitStoreMsgOK:消息发送时是否等待消息存储完成后再返回。
public class Message implements Serializable {
private static final long serialVersionUID = 8445773977080406428L;
//Topic主题
private String topic;
//消息标记
private int flag;
//扩展属性
private Map<String, String> properties;
//消息体
private byte[] body;
//事务ID
private String transactionId;
../部分代码省略