1. 首页
  2. 软件开发
  3. RocketMQ——基于CommitLog和ConsumeQueue的消息存储机制

RocketMQ——基于CommitLog和ConsumeQueue的消息存储机制

  • 发布于 2024-08-19
  • 10 次阅读

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