RocketMQ的消息存储机制是基于CommitLog和ConsumeQueue的。消息首先会被追加到CommitLog中,然后根据消息的主题和队列ID被索引到对应的ConsumeQueue中,以便快速检索。
代码如下:
DefaultMQProducer producer = new DefaultMQProducer("producer_group");
producer.setNamesrvAddr("127.0.0.1:9876");
producer.start();
Message msg = new Message("TopicTest", "TagA", "Hello RocketMQ".getBytes());
SendResult sendResult = producer.send(msg);
System.out.println(sendResult);
producer.shutdown();
以上代码创建了一个生产者实例,设置了NameServer地址,发送了一条消息到"TopicTest"主题的"TagA"队列中。消息最终会被存储到CommitLog和ConsumeQueue中。
原文链接: https://blog.csdn.net/2401_82884096/article/details/138396693