rocketmqrocket class是什么意思

rocketmq  时间:2021-08-09  阅读:()

rocketmq producer 分批数据怎么发同一个

rocketmq的顺序消息需要满足2点: 1.Producer端保证发送消息有序,且发送到同一个队列。

2.consumer端保证消费同一个队列。

先看个例子,代码版本跟前面的一样。

Producer类

java rocketmq 怎么消费

争议一、三种消费 :1.普通消费 2. 顺序消费 3.事务消费 1.1 顺序消费:在网购的时候,我们需要下单,那么下单需要假如有三个顺序,第一、创建订单 ,第二:订单付款,第三:订单完成。

也就是这个三个环节要有顺序,这个订单才有意义。

RocketMQ可以保证顺序消费,他的实现是生产者(一个生产者可以对多个主题去发送消息)将这个三个消息放ic(一ic默认有4个队列)的一个队列里面,单机支持上万个持久化队列,消费端去消费的时候也是只能有一个Consumer去取得这个队列里面的数据,然后顺序消费。

单个节点(Producer端1个、Consumer端1个) Producer端 package order; import java.util.List; .alibaba.rocketmq.client.exception.MQBrokerException; .alibaba.rocketmq.client.exception.MQClientException; .alibaba.rocketmq.client.producer.DefaultMQProducer; .alibaba.rocketmq.client.producer.MessageQueueSelector; .alibaba.rocketmq.client.producer.SendResult; mon.message.Message; mon.message.MessageQueue; .alibaba.rocketmq.remoting.exception.RemotingException; /** * Producer,发送顺序消息 */ public class Producer { public static void main(String[] args) { try { DefaultMQProducer producer = new DefaultMQProducer("order_Producer"); producer.setNamesrvAddr("192.168.100.145:9876;192.168.100.146:9876;192.168.100.149:9876;192.168.100.239:9876"); producer.start(); // String[] tags = new String[] { "TagA", "TagB", "TagC", "TagD", // "TagE" }; for (int i = 1; i <= 5; i++) { Message msg = new Message("TopicOrderTest", "order_1", "KEY" + i, ("order_1 " + i).getBytes()); SendResult sendResult = producer.send(msg, new MessageQueueSelector() { public MessageQueue select(List mqs, Message msg, Object arg) { Integer id = (Integer) arg; int index = id % mqs.size(); return mqs.get(index); } }, 0); System.out.println(sendResult); } producer.shutdown(); } catch (MQClientException e) { e.printStackTrace(); } catch (RemotingException e) { e.printStackTrace(); } catch (MQBrokerException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } } Consumer端代码 package order; import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; .alibaba.rocketmq.client.consumer.DefaultMQPushConsumer; .alibaba.rocketmq.client.consumer.listener.ConsumeOrderlyContext; .alibaba.rocketmq.client.consumer.listener.ConsumeOrderlyStatus; .alibaba.rocketmq.client.consumer.listener.MessageListenerOrderly; .alibaba.rocketmq.client.exception.MQClientException; mon.consumer.ConsumeFromWhere; mon.message.MessageExt; /** * 顺序消息消费,带事务方式(应用可控制Offset什么时候提交) */ public class Consumer1 { public static void main(String[] args) throws MQClientException { DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("order_Consumer"); consumer.setNamesrvAddr("192.168.100.145:9876;192.168.100.146:9876;192.168.100.149:9876;192.168.100.239:9876"); /** * 设置Consumer第一次启动是从队列头部开始消费还是队列尾部开始消费 * 如果非第一次启动,那么按照上次消费的位置继续消费 */ consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); consumer.subscribe("TopicOrderTest", "*"); consumer.registerMessageListener(new MessageListenerOrderly() { AtomicLong consumeTimes = new AtomicLong(0); public ConsumeOrderlyStatus consumeMessage(List msgs, ConsumeOrderlyContext context) { // 设置自动提交 context.setAutoCommit(true); for (MessageExt msg : msgs) { System.out.println(msg + ",内容:" + new String(msg.getBody())); } try { TimeUnit.SECONDS.sleep(5L); } catch (InterruptedException e) { e.printStackTrace(); } ; return ConsumeOrderlyStatus.SUCCESS; } }); consumer.start(); System.out.println("Consumer1 Started."); } }

rocketmq group不同为什么能消费

a: 查看具体命令的使用 : sh mqadmin b: sh mqadmin help 命令名称 例如,查看 updateTopic 的使用 sh mqadmin help updateTopic 2. 关闭nameserver和所有的broker: 进入到bin下: sh mqshutdown namesrv sh mqshutdown broker 3. 查看所有消费组group: sh mqadmin consumerProgress -n 192.168.1.23:9876 4. 查看指定消费组下的所ic数据堆积情况: sh mqadmin consumerProgress -n 192.168.1.23:9876 -g warning-group 5. 查看所ic :

rocket class是什么意思

rocket class 火箭班; 火箭类 双语例句 With a liquid rocket engine ( LRE) historical test data, this algorithm is validated. These results show that there is only one class when the algorithm is used to healthy turbopump vibration data, and the distance between the neighboring neuron is less than 0.1; 通过某型液体火箭发动机历史试车数据的验证,结果表明,健康涡轮泵数据利用该算法聚类时仅存在一个类别,相邻神经元距离小于0.1;

WebHorizon($10.56/年)256MB/5G SSD/200GB/日本VPS

WebHorizon是一家去年成立的国外VPS主机商,印度注册,提供虚拟主机和VPS产品,其中VPS包括OpenVZ和KVM架构,有独立IP也有共享IP,数据中心包括美国、波兰、日本、新加坡等(共享IP主机可选机房更多)。目前商家对日本VPS提供一个8折优惠码,优惠后最低款OpenVZ套餐年付10.56美元起。OpenVZCPU:1core内存:256MB硬盘:5G NVMe流量:200GB/1G...

wordpress简洁英文主题 wordpress简洁通用型高级外贸主题

wordpress简洁英文主题,wordpress简洁通用大气的网站风格设计 + 更适于欧美国外用户操作体验,完善的外贸企业建站功能模块 + 更好的移动设备特色模块支持,更高效实用的后台自定义设置 + 标准高效的代码程序功能结构,更利于Goolge等国际搜索引擎的SEO搜索优化和站点收录排名。点击进入:wordpress简洁通用型高级外贸主题主题价格:¥3980 特 惠 价:¥1280安装环境:运...

Dynadot多种后缀优惠域名优惠码 ,.COM域名注册$6.99

Dynadot 是一家非常靠谱的域名注册商家,老唐也从来不会掩饰对其的喜爱,目前我个人大部分域名都在 Dynadot,还有一小部分在 NameCheap 和腾讯云。本文分享一下 Dynadot 最新域名优惠码,包括 .COM,.NET 等主流后缀的优惠码,以及一些新顶级后缀的优惠。对于域名优惠,NameCheap 的新后缀促销比较多,而 Dynadot 则是对于主流后缀的促销比较多,所以可以各取所...

rocketmq为你推荐
图像识别算法图像识别算法都有哪些seasonalseasonal greetings中文什么意思aftereffectpremiere pro与after effect的区别linux安装教程linux怎么安装啊色温图数码相机上面色温小图标的详细作用qsv视频格式转换器简单好用的qsv格式转换器有哪些?碰撞球两小球碰撞冲量怎么计算邮件服务器软件给我推荐个邮件服务器软件?内详免杀远控远控+免杀,到底是怎么一回事?snoopy官网SNOOPY鞋子是品牌吗
godaddy域名解析教程 google镜像 l5639 外国空间 新世界电讯 12306抢票助手 标准机柜尺寸 魔兽世界台湾服务器 免费个人空间申请 创梦 阿里云浏览器 web服务器的架设 新家坡 免费吧 免费活动 电信虚拟主机 如何注册阿里云邮箱 四川电信商城 上海电信测速网站 万网主机 更多