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;

VPSDime7美元/月,美国达拉斯Windows VPS,2核4G/50GB SSD/2TB流量/Hyper-V虚拟化

VPSDime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:VPSDime夏季促销:美国达拉斯VPS/2G内存/2核/20gSSD/1T流量/$20/年,此次推出一款Windows VPS,依然是...

木木云35元/月,美国vps服务器优惠,1核1G/500M带宽/1T硬盘/4T流量

木木云怎么样?木木云品牌成立于18年,此为贵州木木云科技有限公司旗下新运营高端的服务器的平台,目前已上线美国中部大盘鸡,母鸡采用E5-267X系列,硬盘全部组成阵列。目前,木木云美国vps进行了优惠促销,1核1G/500M带宽/1T硬盘/4T流量,仅35元/月。点击进入:木木云官方网站地址木木云优惠码:提供了一个您专用的优惠码: yuntue目前我们有如下产品套餐:DV型 1H 1G 500M带宽...

DiyVM独立服务器:香港沙田服务器,5M带宽CN2线路,L5630*2/16G内存/120G SSD硬盘,499元/月

diyvm怎么样?diyvm商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;DiyVM独立服务器开设在香港沙田电信机房,CN2线路,5M带宽,自动化开通上架,最低499元/月,配置是L5630*2/16G内存/120G SSD硬盘。DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,...

rocketmq为你推荐
初始化磁盘如何将磁盘还原为“未初始化”状态?app退款在app买东西以后怎么申请退款横幅广告促销横幅怎么写赵锡成上海交大有什么好玩的jshare有什么免费的网盘从零开始学android从零开始学android需要多久东芝官方网站请问东芝客服电话是什么?erp学习怎样学好ERP?上qq号谁知道怎么申请QQ号啊外贸信息有没有外贸信息方面的参考资料,有知道的推荐一下?要是权威的?
duniu 息壤主机 韩国加速器 mach 域名优惠码 远程登陆工具 web服务器架设软件 135邮箱 国外代理服务器地址 服务器合租 跟踪路由命令 重庆电信服务器托管 百度云空间 黑科云 存储服务器 阿里云邮箱怎么注册 小夜博客 石家庄服务器 ipower 机柜尺寸 更多