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;

美国多IP站群VPS商家选择考虑因素和可选商家推荐

如今我们很多朋友做网站都比较多的采用站群模式,但是用站群模式我们很多人都知道要拆分到不同IP段。比如我们会选择不同的服务商,不同的机房,至少和我们每个服务器的IP地址差异化。于是,我们很多朋友会选择美国多IP站群VPS商家的产品。美国站群VPS主机商和我们普通的云服务器、VPS还是有区别的,比如站群服务器的IP分布情况,配置技术难度,以及我们成本是比普通的高,商家选择要靠谱的。我们在选择美国多IP...

天上云月付572元,起香港三网CN2直连,独立服务器88折优惠,香港沙田机房

天上云怎么样?天上云隶属于成都天上云网络科技有限公司,是一家提供云服务器及物理服务器的国人商家,目前商家针对香港物理机在做优惠促销,香港沙田机房采用三网直连,其中电信走CN2,带宽为50Mbps,不限制流量,商家提供IPMI,可以自行管理,随意安装系统,目前E3-1225/16G的套餐低至572元每月,有做大规模业务的朋友可以看看。点击进入:天上云官方网站天上云香港物理机服务器套餐:香港沙田数据中...

织梦DEDECMS即将授权收费和维权模式 站长应对的几个方法

这两天在站长群里看到不少有使用DEDECMS织梦程序的朋友比较着急,因为前两天有看到来自DEDECMS,我们熟悉的织梦程序官方发布的公告,将会在10月25日开始全面商业用途的使用DEDECMS内容管理程序的会采用授权收费模式,如果我们有在个人或者企业商业用途的,需要联系且得到授权才可以使用,否则后面会通过维权的方式。对于这个事情,我们可能有些站长经历过,比如字体、图片的版权。以及有一些国内的CMS...

rocketmq为你推荐
在线编辑有没有能在手机端在线编辑文档的软件?阿里P8阿里P8程序员34岁年薪170万,这在北京而立人群中属于什么收入水平?数据库连接怎么链接数据库笛卡尔乘积离散数学的集合问题。。 第一个笛卡尔的乘积:A={1,2},B={a,b},那么AXB^2是什么getsockopt提示出现这个怎么办?色温图色温,色调等参数怎么改?(图),还有什么建议吗?蓝牙开发android 蓝牙开发 ble 难吗rs485协议HART modbus profibus 这三种协议有什么区别?这几种协议都是干什么用的?数据管理制度数据必须符合以下基本原则有哪些充值卡充值移动如何用充值卡充话费
vps是什么 个人域名备案流程 动态域名解析软件 中文域名交易中心 如何注册中文域名 阿里云搜索 singlehop 百度云100as nerd 商务主机 流量计费 卡巴斯基免费试用 上海服务器 华为云盘 网页提速 免费的asp空间 php服务器 阿里云邮箱申请 免费主页空间 锐速 更多