怎么搭建rocket mq
时间: 2024-06-12 07:05:26 浏览: 95
RocketMQ是一个分布式消息传递平台,它可以在高吞吐量、低延迟和高可靠性的条件下传递大量的消息。下面是搭建RocketMQ的步骤:
1. 安装JDK
RocketMQ需要使用JDK 1.8或更高版本。如果未安装,请先下载并安装JDK。
2. 下载RocketMQ
从官方网站下载RocketMQ的源代码(https://rocketmq.apache.org/release_notes/release-notes-4.9.1/)或者预编译版本。
3. 安装NameServer
NameServer是RocketMQ的核心组件之一,它用于管理所有的Broker,包括Broker的路由信息、Topic、Consumer等。
解压下载的RocketMQ文件,进入bin目录,执行以下命令:
```
sh mqnamesrv
```
4. 安装Broker
Broker是RocketMQ的另一个核心组件,它用于存储和分发消息。一个Broker可以管理多个Topic,每个Topic可以有多个Queue。
解压下载的RocketMQ文件,进入bin目录,执行以下命令:
```
sh mqbroker -n localhost:9876
```
其中,localhost:9876是NameServer的地址,默认端口为9876。
5. 发送和接收消息
使用RocketMQ的API可以发送和接收消息。以下是一个简单的例子:
```
public class Producer {
public static void main(String[] args) throws Exception {
DefaultMQProducer producer = new DefaultMQProducer("example_group");
producer.setNamesrvAddr("localhost:9876");
producer.start();
Message message = new Message("example_topic", "Hello RocketMQ".getBytes());
SendResult result = producer.send(message);
System.out.println(result);
producer.shutdown();
}
}
public class Consumer {
public static void main(String[] args) throws Exception {
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("example_group");
consumer.setNamesrvAddr("localhost:9876");
consumer.subscribe("example_topic", "*");
consumer.registerMessageListener((MessageListenerConcurrently) (messages, context) -> {
System.out.println(messages);
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
});
consumer.start();
}
}
```
这个例子中,Producer向example_topic发送一条消息,Consumer从example_topic接收并打印出来。在运行Producer和Consumer之前,确保NameServer和Broker已经启动。
阅读全文