随笔 - 2  文章 - 721  评论 - 6  阅读 - 35万

文章分类 -  Rabbitmq

RabbitMQ集群
摘要:RabbitMQ这款消息队列中间件产品本身是基于Erlang编写,Erlang语言天生具备分布式特性(通过同步Erlang集群各节点的magic cookie来实现)。因此,RabbitMQ天然支持Clustering。这使得RabbitMQ本身不需要像ActiveMQ、Kafka那样通过ZooKe 阅读全文
posted @ 2020-05-30 15:21 溪水静幽 阅读(182) 评论(0) 推荐(0) 编辑
priority queue
摘要:生产者 public void prioritySms() throws InterruptedException { byte[] body = "hello world".getBytes(); for (int i = 0; i < 10; i++) { int priority = new 阅读全文
posted @ 2020-01-18 19:06 溪水静幽 阅读(145) 评论(0) 推荐(0) 编辑
异步RPC调用
摘要:Server:提供服务的服务,RPC模型中的Server Client: 调用服务的服务,RPC模型中的client 监听了sms队列,这个队列将会是客户端请求消息发送到的队列,配置了适配器,适配器中去调用服务,适配器返回的值就是服务端返回给客户端的RPC调用的结果 @RabbitListener( 阅读全文
posted @ 2020-01-14 23:08 溪水静幽 阅读(1621) 评论(0) 推荐(0) 编辑
Queue Length Limit
摘要:Max length(x-max-length) 用来控制队列中消息的数量。 如果超出数量,则先到达的消息将会被删除掉。 Max length bytes(x-max-length-bytes) 用来控制队列中消息总的大小。 如果超过总大小,则最先到达的消息将会被删除,直到总大小不超过x-max-l 阅读全文
posted @ 2020-01-12 19:11 溪水静幽 阅读(188) 评论(0) 推荐(0) 编辑
延迟队列
摘要:延迟队列就是进入该队列的消息会被延迟消费的队列。而一般的队列,消息一旦入队了之后就会被消费者马上消费。 场景: 延迟消费。比如: 用户生成订单之后,需要过一段时间校验订单的支付状态,如果订单仍未支付则需要及时地关闭订单。 用户注册成功之后,需要过一段时间比如一周后校验用户的使用情况,如果发现用户活跃 阅读全文
posted @ 2020-01-12 18:09 溪水静幽 阅读(434) 评论(0) 推荐(0) 编辑
消息发送确认 与 消息接收确认
摘要:消息发送确认 发送的消息怎么样才算失败或成功?如何确认? 当消息无法路由到队列时,确认消息路由失败。消息成功路由时,当需要发送的队列都发送成功后,进行确认消息,对于持久化队列意味着写入磁盘,对于镜像队列意味着所有镜像接收成功 ConfirmCallback 通过实现 ConfirmCallback 阅读全文
posted @ 2020-01-05 22:30 溪水静幽 阅读(582) 评论(0) 推荐(0) 编辑
@RabbitListener 与 @RabbitHandler 及 消息序列化
摘要:使用 @RabbitListener 注解标记方法,当监听到队列 debug 中有消息时则会进行接收并处理 使用 @Payload 和 @Headers 注解可以消息中的 body 与 headers 信息 @RabbitListener(queues = "debug") public void 阅读全文
posted @ 2020-01-05 21:47 溪水静幽 阅读(3756) 评论(0) 推荐(0) 编辑
MessageListenerAdapter
摘要:消息监听适配器:具体消息的消费逻辑,适配成 MessageListenerAdapter 定义的格式 默认的方法签名为:void handleMessage(byte[] messageBody) /** * 自定义的消费监听 */ public class MessageDelegate { /* 阅读全文
posted @ 2020-01-05 20:52 溪水静幽 阅读(2001) 评论(0) 推荐(1) 编辑
SimpleMessageListenerContainer
摘要:同一个queue上有多个消费者的时候,只会有一个消费者收到消息,一般是多个消费者轮流收到消息。SimpleMessageListenerContainer可以监听多个队列,监听单个或多个队列、自动启动、自动声明功能,container.setQueueNames的api接收的是一个字符串数组对象。 阅读全文
posted @ 2020-01-05 17:21 溪水静幽 阅读(4486) 评论(0) 推荐(0) 编辑
死信队列
摘要:“死信”消息会被RabbitMQ进行特殊处理,如果配置了死信队列信息,那么该消息将会被丢进死信队列中,如果没有配置,则该消息将会被丢弃。 延迟队列场景: 订单业务:在电商中,用户下单后30分钟后未付款则取消订单。 短信通知:用户下单并付款后,1分钟后发短信给用户。 Time To Live(TTL) 阅读全文
posted @ 2020-01-01 23:21 溪水静幽 阅读(358) 评论(0) 推荐(0) 编辑
API(一)
摘要:依赖 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.5.0</version> </dependency> 消费者 @Slf4j public class Me 阅读全文
posted @ 2020-01-01 19:25 溪水静幽 阅读(118) 评论(0) 推荐(0) 编辑
spring boot整合rabbitmq
摘要:消费者 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 配置文件 spring.rabbitmq.a 阅读全文
posted @ 2020-01-01 14:03 溪水静幽 阅读(100) 评论(0) 推荐(0) 编辑
概念与原理
摘要:订单系统中,用户点击【下单】按钮之后的业务逻辑可能包括:扣减库存、生成相应单据、发红包、发短信通知。在业务发展初期,这些逻辑可能放在一起同步执行,随着业务的发展订单量增长,需要提升系统服务的性能,可以将一些不需要立即生效的操作拆分出来异步执行,比如发放红包、发短信通知等。这种场景下就可以用 MQ , 阅读全文
posted @ 2020-01-01 10:43 溪水静幽 阅读(170) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示