RocketMQ支持3种消息发送方式:同步(sync)、异步(async)、单向(oneway)。
1.同步:通过send(Message msg)方法发送,生产者想MQ发送消息时,同步等待,直到服务器返回发送结果,才会发下一条消息,线程阻塞。
2.异步:send(Message msg, SendCallback sendCallback)方法发送,sendCallback是指定消息发送成功后的回调函数,生产者发送消息后立即返回,不阻塞当前线程,直到所有消息发送完毕,发送消息成功或者失败的回调时在新的线程中执行。
3.单向:通过sendOneway方法,生产者发送消息后,直接返回,不等待MQ的结果,也无回调函数,不管消息成功与否,有消息就发。