本翻译教程来自RocketMQ官方网站,中间会加上自己的理解,有错误或者不妥之处请及时指正。
我在示例代码中加了详细的注释,如果读者想要方便的下载这些代码,包括后面所有博客中有关RocketMQ教程中用到的代码,请到我的GitHub仓库进行下载。
什么是广播模式?
广播模式是将同一个消息发送给所有的订阅者。如果你想要实现所有的订阅者都收到相同的消息,那么广播模式将会是你的不二之选。
与广播模式相对应的是集群模式。这两种模式的却别在于:如果是集群模式,那么broker中的消息只能够被消费者集群中的其中一个消费者消费。而如果是广播模式,那么整个消费者集群中的所有消费者都能够消费同一个消息,也就是说广播模式下消息能够被重复消费。
生产者与之前并无区别
package org.apache.rocketmq.example.broadcasting;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.common.RemotingHelper;
public class BroadcastProducer {
public static void main(String[] args) throws Exception {
/*
* 实例化DefaultMQProducer,这里如要设置生产者组名。
*/
DefaultMQProducer producer = new DefaultMQProducer(