美文网首页
rocketmq部署、入门

rocketmq部署、入门

作者: kafeimao | 来源:发表于2020-12-20 21:17 被阅读0次

参考:https://www.cnblogs.com/kiwifly/p/11546008.html
前提:安装了docker

启动nameserver

创建nameserver的日志和数据存放路径

/home/rocketmq/namesrv/logs
/home/rocketmq/namesrv/store

启动命令

docker run -d --name rmqnamesrv -p 9876:9876 
-v /home/rocketmq/namesrv/logs:/opt/logs 
-v /home/rocketmq/namesrv/store:/opt/store
 rocketmqinc/rocketmq 
sh mqnamesrv

启动broker

创建broker的日志和数据存放的路径以及配置

/home/rocketmq/broker/logs
/home/rocketmq/broker/store
/home/rocketmq/broker/conf/broker.conf

在broker.conf中写入配置

terName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
brokerIP1= 我的服务器外网IP
namesrvAddr=我的服务器外网IP:9876

启动命令

docker run -d --name rmqbroker  -p 10911:10911 -p 10909:10909
 -v  /home/rocketmq/broker/logs:/root/logs 
-v  /home/rocketmq/broker/store:/root/store 
-v /home/rocketmq/broker/conf/broker.conf:/opt/rocketmq/conf/broker.conf 
--link rmqnamesrv:namesrv 
-e "NAMESRV_ADDR=namesrv:9876" 
rocketmqinc/rocketmq 
sh mqbroker -c /opt/rocketmq/conf/broker.conf

启动rocketmq的控制台

docker run -d -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=我的服务器IP:9876 -Drocketmq.config.isVIPChannel=false" -p 8082:8080 -t styletang/rocketmq-console-ng

打开浏览器看看


image.png

Java入门测试

maven依赖

<dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-client</artifactId>
            <version>4.1.0-incubating</version>
        </dependency>

生产者

public class Producer {
    public static void main(String[] args) {
        DefaultMQProducer producer = new DefaultMQProducer("Producer");
        producer.setNamesrvAddr("我的服务器ip:9876");
        try {
            producer.start();
            Message msg = new Message("test-topic","tag","1"."Just for test.".getBytes());
            SendResult result = producer.send(msg);
            System.out.println("id:" + result.getMsgId() + " result:" + result.getSendStatus());
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            producer.shutdown();
        }
    }
}

消费者

public class Consumer {
    public static void main(String[] args) {
        DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("PushConsumer");
        consumer.setNamesrvAddr("我的服务器ip:9876");
        try {
            consumer.subscribe("test-topic", "tag");
            consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
            consumer.registerMessageListener(new MessageListenerConcurrently() {
                                                 @Override
                                                 public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext Context) {
                                                     Message msg = list.get(0);
                                                     String topic = msg.getTopic();
                                                     System.out.println("topic = " + topic);
                                                     byte[] body = msg.getBody();
                                                     System.out.println("body:  " + new String(body));
                                                     String keys = msg.getKeys();
                                                     System.out.println("keys = " + keys);
                                                     String tags = msg.getTags();
                                                     System.out.println("tags = " + tags);
                                                     System.out.println("-----------------------------------------------");
                                                     return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
                                                 }
                                             }
            );
            consumer.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

整合springboot

相关文章

  • rocketmq总目录

    实战 rocketmq最简单的入门demo rocketmq的常用概念,接口和方法 rocketmq的正式部署 高...

  • rocketmq部署、入门

    参考:https://www.cnblogs.com/kiwifly/p/11546008.html[https:...

  • RocketMQ 集群部署结构和模式

    1、RocketMQ 集群物理部署结构 RocketMQ 物理部署结构 RocketMQ的部署结构有以下特点: N...

  • RocketMQ产品架构

    RocketMQ产品架构 RocketMQ产品架构部署要求系统部署架构订阅模式 部署要求 消息队列 RocketM...

  • RocketMQ学习

    RocketMQ 学习 安装部署** 下载rocketmq解压:下载地址 启动nameserver,进入bin目录...

  • docker-compose安装rocketmq

    部署说明 应用名称端口rocketmq-namesrv9876:9876rocketmq-broker10909:...

  • RocketMQ demo

    解决连接超时问题 我们采用 Docker 部署了 RocketMQ 服务,此时 RocketMQ Broker 暴...

  • RocketMQ部署以及调优

    RocketMQ的部署 RocketMQ的部署,这里不做太多的说明,因为官方文档上面写的已经非常清晰了,可以照着官...

  • RocketMQ环境搭建

    RocketMQ单机部署流程 1.下载源码包地址 http://rocketmq.apache.org/docs/...

  • RocketMQ入门

    RocketMQ入门 1. RocketMQ简介 RocketMQ是阿里开源的消息中间件,它是纯java开发,具有...

网友评论

      本文标题:rocketmq部署、入门

      本文链接:https://www.haomeiwen.com/subject/vslcnktx.html