依赖

<dependency>
<groupId>com.alibaba.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>3.2.6</version>
</dependency>

QuickStart

producer


//伪代码 producer DefaultMQProducer producer = new DefaultMQProducer ("ProducerGroup");
producer.setNamesrvAddr("192.168.1.121:9876;192.168.1.122:9876");
producer.start(); Message msg = new Message("TopicTest","TagTest","hello world".getBytes("utf-8")); SendResult sendResult = producer.send(msg); producer.shutdown();

consumer


//伪代码 consumer DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("ProducerGroup");
consumer.setNamesrvAddr("192.168.1.121:9876;192.168.1.122:9876");
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUMER_FROM_FIRST_OFFSET);
comsumer.subscribe("TopicTest","*");
consumer.registerMessageListener(new MessageListenerConcurrently(){ @Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,ConsumeConcurrentlyContext context){ for(MessageExt ext:msgs){
System.out.println(new Date()+ new String(ext.getBody(),"utf-8"));
} return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } }); consumer.start(); );

QuickStart 结论

  • 无论生产者、消费者都必须给出GroupName,而且具有唯一性!这个组名称,是维护在应用系统级别上的,比如在生产端指定一个名称:ProducerGroupName,这个名称是需要应用系统来保证唯一性的,一类Producer的集合的名称,

    这类producer通常发送一类消息,且发送逻辑一致。同理消费者也是这样。

  • rocketmq默认是将消息持久化了,当一个消费组消费完消息以后,broker 并没有把消息删掉,而是持久化了。现在我们测试一下,现在换一个消费组,改变ComsumerGroupName再次消费的话,可以将broker上面的持久化的所有消息都消费掉。

  • 生产到哪个Topic的哪个Tag下,消费者也是从Topic的哪个Tag进行消费,可见这个Tag有点类似于JMS Selector机制,即实现消息的过滤

  • 生产者、消费者需要设置NameServer地址。

  • 这里,采用的是Consumer Push的方式,即设置Listener机制回调,相当于开启了一个线程。以后为大家介绍Consumer Pull的方式。


这里消费消息是没有什么顺序的,以后我们在来谈消息的顺序性。

消息中间件--"rocketmq"02之QuickStart的更多相关文章

  1. 阿里开源消息中间件RocketMQ的前世今生-转自阿里中间件

    昨天,我们将分布式消息中间件RocketMQ捐赠给了开源软件基金会Apache. 孵化成功后,RocketMQ或将成为国内首个互联网中间件在Apache上的顶级项目. 消息一出,本以为群众的反应是这样 ...

  2. 分布式消息中间件rocketmq的原理与实践

    RocketMQ作为阿里开源的一款高性能.高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实现原理 一.顺序消息 消息有序指的是 ...

  3. 消息中间件——rocketmq环境配置

    产生原因 RocketMQ概述 RocketMQ 是一款分布式.队列模型的消息中间件,具有以下特点: 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 亿级 ...

  4. 消息中间件--"rocketmq"01之环境搭建

    前置知识 ssh工具 连接linux工具SecureCRT 颜色设置,参考 中文乱码,参考 Linux相关知识 centos7 防火墙firewalld的基本使用,参考 启动: systemctl s ...

  5. java消息中间件 RocketMQ Linux安装与运行

    阿里巴巴宣布捐赠RocketMQ到Apache软件基金会孵化项目,最近闲下来便去部署了一个试验版本玩玩. 至于RockeMQ是什么,原理架构什么的这里就不赘述了,这里只记录安装过程. 一.系统环境 s ...

  6. 消息中间件——RocketMQ(一) 环境搭建(完整版)

    每章一点正能量:每当你想要放弃的时候,就想想是为了什么才一路坚持到现在. 前言 最近在回顾复习Java基础中的一些知识点,发现了一些以前见过但是没有留意却特别有意思的知识特性,比如这次想分享的Java ...

  7. rocketmq(1)

    参考: 开源社区:https://github.com/alibaba/RocketMQ rocketmq入门: http://www.cnblogs.com/LifeOnCode/p/4805953 ...

  8. RocketMQ消息存储

    转载:RocketMQ源码学习--消息存储篇 消息中间件—RocketMQ消息存储(一) RocketMQ高性能之底层存储设计 存储架构 RMQ存储架构 上图即为RocketMQ的消息存储整体架构,R ...

  9. 《浅入浅出》-RocketMQ

    你知道的越多,你不知道的越多 点赞再看,养成习惯 本文GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点脑图.个人联系方式和技术交流群,欢迎Star和指 ...

随机推荐

  1. WCF Data Services 5.0 for OData V3

    https://www.microsoft.com/en-us/download/details.aspx?id=29306 VS 2010 下 安装 WCF Data Services 5.0 en ...

  2. JavaScript的原型链继承__propt__、prototype、constructor的理解、以及他们之间相互的关系。

    回想自己已经工作了有一段时间了,但是自己对JavaScript的原型链.和继承的理解能力没有到位,最近他们彻底的整理并且复习了一遍. 本案例中部分文案来自网络和书籍,如有侵权请联系我,我只是把我的理解 ...

  3. 【译】Steve Yegge的文章《Practicing Programming》

    与你所相信的恰恰相反,单纯地每天埋头于工作并不能算是真正意义上的锻炼——参加会议并不能锻炼你的人际交往能力:回复邮件并不能提高你的打字水平.你必须定期留出时间,集中锻炼,这样才能把事情做得更好.我认识 ...

  4. 安装node.js webkit环境[一]

    1. 安装node,设置代理npm config set registry https://registry.npm.taobao.org[cmd运行]2. 安装grunt-cli: npm inst ...

  5. 手把手教你用 Keras 实现 LSTM 预测英语单词发音

    1. 动机 我近期在研究一个 NLP 项目,根据项目的要求,需要能够通过设计算法和模型处理单词的音节 (Syllables),并对那些没有在词典中出现的单词找到其在词典中对应的押韵词(注:这类单词类似 ...

  6. 阿里云服务器(Ubuntu16.04 64位)远程连接

    购买阿里云服务器 1.打开阿里云官方网站,账号登录,选择产品中的云服务器 ECS 2.根据自身需求,选择合适的阿里云服务器系统,(1)点击一键购买,(2)选择地域,(3)根据自身需求,选择系统,这里选 ...

  7. 【转】 面向对象(OO)程序设计

    前言 本文主要介绍面向对象(OO)程序设计,以维基百科的解释: 面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发 ...

  8. Java学习--java中的集合框架、Collection接口、list接口

    与数组相比:1.数组的长度固定,而集合的长度可变2.数组只能通过下表访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象 java集合框架:collection(list序列,queue ...

  9. jquery的事件绑定on()动态绑定

    常用 这里有个文章列表, 通过on() 点击标题获取标题内容 <div class="article"> <div class="title" ...

  10. HEOI2017 游记

    你若安好,便是晴天. …… 人就像命运下的蝼蚁,谁也无法操控自己的人生. ——阮行止 …… Day 0 中午就要出发了,上午教练还搞了一场欢乐信心赛,然而还是挂惨了.T3是bzoj的原题,但是当时写的 ...