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;

Virmach 3.23美元可用6个月的VPS主机

Virmach 商家算是比较久且一直在低价便宜VPS方案中玩的不亦乐乎的商家,有很多同时期的商家纷纷关闭转让,也有的转型到中高端用户。而前一段时间也有分享过一次Virmach商家推出所谓的一次性便宜VPS主机,比如很低的价格半年时间,时间到服务器也就关闭。这不今天又看到商家有提供这样的产品。这次的活动产品包括圣何塞和水牛城两个机房,为期六个月,一次性付费用完将会取消,就这么特别的产品,适合短期玩玩...

CheapWindowsVPS$4.5/月,美国VPS/免费Windows系统/1Gbps不限流量/,可选美洲、欧洲、亚洲等8大机房

国外商家提供Windows系统的并不常见,CheapWindowsVPS 此次提供的 2 款 VPS 促销套餐,提供 5 折永久优惠码,优惠后月付 4.5 美元起,价格还是挺诱人的,VPS 不限流量,接入 1Gbps 带宽,8 个机房皆可选,其中洛杉矶机房还提供亚洲优化网络供选择,操作系统有 Windows 10 专业版、2012 R2、2016、Linux等。Cheap Windows VPS是...

华纳云,3折低至优惠云服务器,独立服务器/高防御服务器低至6折,免备案香港云服务器CN2 GIA三网直连线路月付18元起,10Mbps带宽不限流量

近日华纳云发布了最新的618返场优惠活动,主要针对旗下的免备案香港云服务器、香港独立服务器、香港高防御服务器等产品,月付6折优惠起,高防御服务器可提供20G DDOS防御,采用E5处理器V4CPU性能,10Mbps独享CN2 GIA高速优质带宽,有需要免备案香港服务器、香港云服务器、香港独立服务器、香港高防御服务器、香港物理服务器的朋友可以尝试一下。华纳云好不好?华纳云怎么样?华纳云服务器怎么样?...

rocketmq为你推荐
笛卡尔乘积笛卡尔乘积的运算性质逗号运算符C语言 逗号运算符 是几元操作符?谢谢逗号运算符c语言的逗号运算符什么意思,举例解释下apple以旧换新苹果以旧换新吗活动 可以换钱吗,还是只能折抵新手机apple以旧换新苹果以旧换新怎么换电子听诊器听诊器的构造及原理是……rs485协议HART modbus profibus 这三种协议有什么区别?这几种协议都是干什么用的?qsv视频格式转换器简单好用的qsv格式转换器有哪些?qsv视频格式转换器如何免费把qsv格式转换为mp4格式碰撞球碰撞分为哪几种,分别解释一下
域名备案 华众虚拟主机管理系统 便宜服务器 simcentric linode代购 linode z.com 美国主机论坛 地址大全 免费ddos防火墙 腾讯云分析 softbank邮箱 台湾google vul 畅行云 服务器论坛 乐视会员免费领取 google搜索打不开 xshell5注册码 湖南铁通 更多