rocketmq
虎哥和你一起学编程
路漫漫其修远兮吾将上下而求索
展开
-
rocketmq高性能的原因
rocketmq为了保证高性能,主要有以下三个原因1.顺序写 顺序写比随机写的性能会高很多,不会有大量寻址的过程2.异步刷盘 相比较于同步刷盘,异步刷盘的性能会高很多3.零拷贝 使用mmap的方式进行零拷贝,提高了数据传输的效率...原创 2021-12-01 10:25:54 · 2056 阅读 · 0 评论 -
RocketMQ发送事务消息
rocketmq发送事务消息的过程为1.发送half消息2.消息队列返回发送结果3.执行本地事务4.提交/回滚/未知5.如果第四步为未知,则消息队列会反查本地事务,本地事务查询后再通知消息队列最终提交或回滚生产者public class Producer { public static void main(String[] args) throws MQClientException, UnsupportedEncodingException { .原创 2021-11-30 18:00:27 · 2666 阅读 · 0 评论 -
Rocketmq发送顺序消息
要想保证消息的顺序性,要保证将需要保证顺序的消息按照顺序投递进一个队列中。 下面演示rocketTemplate发送顺序消息。 @RestController@RequestMapping("demo")public class SendController { @Autowired private RocketMQTemplate rocketMQTemplate; @GetMapping("send") publi...原创 2021-11-30 16:55:14 · 894 阅读 · 0 评论 -
Rocketmq的tag过滤和sql过滤
rocketmq支持两种方式的消息过滤。 1.tag过滤 (可以根据表达式来过滤tag) consumer.subscribe("topic10", "*"); 2.根据自定义属性进行过滤consumer.subscribe("topic10", MessageSelector.bySql("age > 16")); 此时sql过滤遵循SQL92规范 注意:rocketmq默认是关闭了属性过滤,所以如果需要使用该功能,需要开启...原创 2021-11-30 12:02:02 · 1611 阅读 · 0 评论 -
RocketMq发送延时消息
rocketmq可以发送延时消息,通过设置消息的延时等级即可。rocketmq的延时消息不支持任意时间的延迟,而是根据下面的固定的时间选择一个来延迟 "1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h" 消息生产者 通过设置setDelayTimeLevel来实现 例如3 即是10s public class SyncProducer { public sta...原创 2021-11-30 10:46:55 · 3168 阅读 · 0 评论 -
Rocketmq一个生产者多个消费者的问题
消费者同组时,有两种消息模式。 1.集群模式,多个消费者通过负载均衡一起消费信息 2.广播模式,一个消息会复制成多份分发给每一个消费者 消费者不同组时 一个消息会复制多份发给不同的消费者组 public class SyncProducer { public static void main(String[] args) throws Exception{ ...原创 2021-11-30 10:02:08 · 9721 阅读 · 0 评论 -
Rocketmq生产者发送消息的三种形式
1.同步发送 适用于消息很重要,同时对响应时间不敏感的场景。此时发送完消息后需要同步等待发送结果. public class SyncProducer { public static void main(String[] args) throws Exception{ //Instantiate with a producer group name DefaultMQProducer producer = new DefaultMQProduc...原创 2021-11-28 21:50:32 · 1433 阅读 · 0 评论