RabbitMQ
文章平均质量分 66
i余数
这个作者很懒,什么都没留下…
展开
-
Spring-RabbitMQ 队列长度限制实践
超出队列限制后会发生什么?1. 丢弃旧消息。2. 将旧消息路由到死信队列。3. 拒绝新消息入队。怎么设置队列长度?1. 服务端通过policy设置。2. 客户端在队列声明时使用队列的可选参数进行配置。队列长度(及所占字节数)限制只针对Ready状态的消息。...原创 2022-08-24 23:01:27 · 1463 阅读 · 0 评论 -
Spring-RabbitMQ 工作队列实践
工作队列可以将耗时任务分配给多个工作者(或消费者)。其背后的主要思想为避免立即执行资源密集型任务并等待其结果,相反的,我们应该让任务异步执行。我们可以将任务封装成消息发送到工作队列,那么在后台运行的工作者就可以获取到消息也就是获取到任务,然后去执行任务。 如果后台有多个工作者,那么这些工作者们将共享任务列表,共同完成这些任务。原创 2022-08-22 22:28:35 · 484 阅读 · 0 评论 -
Spring-RabbitMQ 死信队列实践
Spring-RabbitMQ 死信队列实践原创 2022-08-19 17:11:31 · 638 阅读 · 0 评论 -
Spring-RabbitMQ 消费者消息确认案例实践
消费者消息确认模式分类NONE:等同于rabbitMQ客户端的自动确认,只要投递了就认为是成功的。MANUAL:需要用户通过 channel 的 ack/nack 手动确认。AUTO(默认值):自动模式,消费者正常执行结束认为成功,报错认为失败。......原创 2022-08-17 14:38:24 · 995 阅读 · 0 评论 -
Spring-RabbitMQ 异步消息接收实践
Spring-RabbitMQ 异步消息接收案例实践原创 2022-08-10 20:55:45 · 1139 阅读 · 0 评论 -
Spring-RabbitMQ 生产者消息确认案例分析
不论 SIMPLE 还是 CORRELATED 消息确认,都只能确认消息是否成功发送到了Exchange,而无法确认消息是否被正常路由到Queue。如果我们需要确保消息必须被路由到Queue,那么就需要配置**publisherReturns**为**true**, 配置publisherReturns=true 的前提是必须开启消息确认,即conformType 必须是SIMPLE 或者CORRELATED 。conformType 默认为NONE。......原创 2022-08-05 12:45:11 · 986 阅读 · 0 评论 -
RabbitMQ 用户配置
需要使用拥有admin权限的用户登录管理系统,在Admin选项卡下可以对用户进行操作。查看指定vhost的所有用户权限。原创 2022-07-29 19:29:41 · 1087 阅读 · 0 评论 -
RabbitMQ 重启后根据配置文件自动配置
rabbitmq节点启动时会根据file.json的信息自动配置。默认路径为/etc/rabbitmq/rabbitmq.conf。原创 2022-07-29 19:16:01 · 589 阅读 · 0 评论 -
RabbitMQ 默认CachingConnectionFactory配置源码分析
RabbitMQ 默认CachingConnectionFactory配置源码分析原创 2022-07-29 13:39:58 · 1745 阅读 · 0 评论 -
RabbitMQ 启动 Socket STOMP插件
rabbitmq 默认是没有开启Socket STOMP插件的。如需使用,例如集成spring websocket STOMP使用的时候,我们可以通过命令行的方式启动它。原创 2022-07-05 21:39:00 · 857 阅读 · 0 评论 -
Spring STOMP @SubscribeMapping 的使用
标记在方法上,用于将客户端以 “/app” 开头的订阅路由到对应的方法上。默认情况下,返回值会通过clientOutboundChannel直接返回(发送)给客户端,不经过broker,是一次性的。用户可以通过 @SendTo 或 @SendToUser 去修改这一行为,也就是将返回值发送个broker,然后广播出去。一般用于初始化数据。如登入聊天室后,初始化在线人员列表和历史消息等。不是真正的订阅。客户端:结果:官方文档https://docs.spring.io/spring-framew原创 2022-07-05 21:30:58 · 1771 阅读 · 0 评论 -
RabbitMQ 心跳
定义了经过多长时间没有心跳,我们就认为RabbitMQ和客户端之间的连接不可达。这个值是在客户端和RabbitMQ服务端建立连接的时候通过商讨得出的。客户端必须配置有心跳。协商过程为:心跳间隔为服务端和客户端心跳检测时间间隔,一般为心跳超时的一半(心跳超时/2),即2次心跳检测失败便认为连接不可达。客户端和服务端的所有流量都会被记做为心跳。所以客户端可以仅在必要的时候,也就是没有其他流量的情况下发送心跳。也可以忽略其他流量,随时根据心跳间隔发送心跳。根据实践反馈,对于大多数环境来说,最佳设置范围是5-20秒原创 2022-07-05 21:04:00 · 3148 阅读 · 0 评论