- Dec 2022
-
blog.51cto.com blog.51cto.com
-
Topic和Direct、Fanout匹配解析
Tags
Annotators
URL
-
-
juejin.cn juejin.cn
-
RabbitMQ 日志的初学者指南—如何查看、定位和分析日志
Tags
Annotators
URL
-
-
blog.apporc.org blog.apporc.org
-
RabbitMQ: 开启消息历史记录
-
-
www.51cto.com www.51cto.com
-
RabbitMQ是如何确定消息是否投递到队列中的
Tags
Annotators
URL
-
-
blog.csdn.net blog.csdn.net
-
RabbitTemplate的 发布确认 和 事务
Tags
Annotators
URL
-
-
www.yanzuoguang.com www.yanzuoguang.com
-
解决使用RabbitTemplate操作RabbitMQ,发生The channelMax limit is reached. Try later.问题
Tags
Annotators
URL
-
-
www.jianshu.com www.jianshu.com
-
【RabbitMQ-9】自定义配置线程池(线程池资源不足-MQ初始化队列&&MQ动态扩容影响)
Tags
Annotators
URL
-
-
-
springboot整合rabbitmq和ThreadPool实现异步调用
Tags
Annotators
URL
-
-
www.cnblogs.com www.cnblogs.com
-
springboot 整合RabbitMQ yml配置文件配置交换机 队列信息
Tags
Annotators
URL
-
-
blog.51cto.com blog.51cto.com
-
SpringBoot AMQP线程池的坑, 坑三
Tags
Annotators
URL
-
-
-
rabbitMq设置多线程并设置线程池消费处理
Tags
Annotators
URL
-
-
www.jianshu.com www.jianshu.com
-
分布式事务之rabbitmq肉身实战
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
rabbitmq 怎么实现多个消费者同时接收一个队列的消息?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
RabbitMQ,ZeroMQ,Kafka 是一个层级的东西吗?相互之间有哪些优缺点?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
RabbitMQ在国内为什么没有那么流行?
Tags
Annotators
URL
-
- Aug 2022
-
help.aliyun.com help.aliyun.com
-
RabbitMQ版可用于单体应用被拆解为微服务后不同微服务间的通信
- 接受券核销、购买信息(异步解耦、削峰填谷)
- 用户注册信息(异步解耦)
- 推送数据给ES(缓存同步)
- 分销活动,用户购买订单号+券id的最终一致性
- 延时队列,异步(取消订单)
Tags
Annotators
URL
-
-
zhuanlan.zhihu.com zhuanlan.zhihu.com
-
Interface ApplicationContextAware 和 InitializingBean来获取我们在Configuration class中声明的exchange, queue, binding beans并调用channel的相应方法来声明
源码分析
Tags
Annotators
URL
-
-
github.com github.com
-
将rabbitmq的队列、交换机、路由key放在一个enum中统一管理
-
-
rabbitmq.mr-ping.com rabbitmq.mr-ping.com
-
当消息代理(broker)将消息发送给应用后立即删除。(使用AMQP方法:basic.deliver或basic.get-ok)
这是AcknowledgeMode.NONE
-
-
fugary.com fugary.com
-
这个需要利用Spring事务的一个特性TransactionSynchronization,注册一个同步钩子,自动把相关代码放到事务完成之后执行,我们使用拦截器拦截rabbitTemplate.convertAndSend方法,实现不用修改现有代码自动把发送MQ消息逻辑移到事务之外
spring事务拦截机制
-
-
blog.rabbitmq.com blog.rabbitmq.com
-
see that the utilisation increases with the prefetch limit until we reach a limit of about 30. After that the network bandwidth limitation starts to dominate and increasing the limit has no further benefit
-
-
www.jianshu.com www.jianshu.com
-
最好不要自定义输入输出在同一个类里面。这样,如果我们只调用生产者发送消息。会导致提示Dispatcher has no subscribers for channel
Tags
Annotators
URL
-
-
juejin.cn juejin.cn
-
发送延迟消息非常简单,首先我们需要在生产者、消费者的配置文件中指定交换机的类型是延迟交换机
rabbitmq特有的机制
-
'''demoRoutingKey'''
用的是双引号:'"demoRoutingKey"'
Tags
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
Since it's an expression, you'll need quotes: 'cities' or if the same producer sends to both, something like headers['whereToSendHeader'].
疑惑点
-
-
segmentfault.com segmentfault.com
-
安装插件后会生成新的Exchange类型x-delayed-message,该类型消息支持延迟投递机制,接收到消息后并未立即将消息投递至目标队列中,而是存储在mnesia(一个分布式数据系统)表中,检测消息延迟时间,如达到可投递时间时并将其通过x-delayed-type类型标记的交换机类型投递至目标队列。
Tags
Annotators
URL
-
-
www.liaoxuefeng.com www.liaoxuefeng.com
-
可以通过在类上监听队列,然后在类中写带有不同参数类型的方法,来接收不同的操作推送的信息
这种方式不行,找不到相应的messageconverter,会报错。具体原因:https://stackoverflow.com/questions/64029154/spring-amqp-rabbitmq-object-sent-as-one-type-gets-converted-to-map-in-listener
-
-
stackoverflow.com stackoverflow.com
-
It will work if the @RabbitListener is defined at the method level instead of the class level because we can infer the generic type from the listener method parameter.
@rabbitlistener在方法级别时,类型推导有用
-
-
juejin.cn juejin.cn
-
发布-订阅、消费组、分区
应该叫消费分区,(实际上就是queue)
-
实现延时队列的核心, 1. 安装插件 2,指明交换机为x-delayed-message。(指明x-delayed-type类型) 3,消息的header指明x-delay时间
-
rabbiimq延时插件
实现延时队列的核心, 1. 安装插件 2,指明交换机为x-delayed-message。(指明x-delayed-type类型) 3,消息的header指明x-delay时间
-
args.put("x-delayed-type", "direct");
路由type
-
编写配置类
连接问题导致无法创建队列
Tags
Annotators
URL
-
-
-
我们看到两个消费者都收到了消息
每个消费者实例都产生一个匿名的queue
-
使用SubscribableChannel和@Input注解连接到greetingChannel,消息数据将被推送这里
这里怎么让rabbitmq创建匿名的queue的
-
-
blog.terrynow.com blog.terrynow.com
-
/opt/rabbitmq_delayed_message_exchange-3.10.2.ez复制到容器里去:
docker
-
-
blog.csdn.net blog.csdn.net
-
发现是给用户授予了角色,只能登录控制台,但是没有给读写以及管理队列的权限,通过控制台admin按钮查看
rabbitmq的virtual host有权限配置
-
-
segmentfault.com segmentfault.com
-
RabbitMQ的基因中没有延时队列这回事,它不能直接指定一个队列类型为延时队列,然后去延时处理,但是经过上面两节的铺垫,我们可以将TTL+DLX相结合,这就能组成一个延时队列。
现在rabbitmq有延时队列插件可以实现延时队列功能 https://juejin.cn/post/6844904163168485383
Tags
Annotators
URL
-
-
zhuanlan.zhihu.com zhuanlan.zhihu.com
-
如果配置了死信队列,它将被重新publish到死信交换机,死信交换机将死信投递到一个队列上,这个队列就是死信队列
在队列上配置死信队列
-
key = {"info","error","warning"}
同一个queue也可以绑定不同的routingKey
Tags
Annotators
URL
-
-
-
都是可以根据 RoutingKey 把消息路由到不同的队列
direct模式下,同一个routingkey可以绑定不同的queue,这样路由器可以分别发送同样的消息到相应的两个queue中
-
Routingkey 一般都是有一个或多个单词组成,多个单词之间以”.”分割
消息队列
-
-
developer.51cto.com developer.51cto.com
-
RabbitMQ很优秀,但RabbitMQ对消息堆积的支持并不好,当大量消息积压的时候,会导致 RabbitMQ 的性能急剧下降
消息堆积会对性能有不小影响
Tags
Annotators
URL
-
- Jun 2022
-
www.rabbitmq.com www.rabbitmq.com
Tags
Annotators
URL
-
- May 2022
- Nov 2019
-
news.ycombinator.com news.ycombinator.com
-
any real reason you should use zeromq over rabbitmq?
Tags
Annotators
URL
-
- Feb 2019
- Apr 2018
-
www.rabbitmq.com www.rabbitmq.com
-
When the entire cluster is brought down, the last node to go down must be the first node to be brought online. If this doesn't happen, the nodes will wait 30 seconds for the last disc node to come back online, and fail afterwards.
当整个群集关闭时, 最后一个要关闭的节点必须是第一个要联机的节点。 如果没有发生这种情况,则节点将等待30秒钟,以使最后一个光盘节点重新联机,然后再失败
-
All data/state required for the operation of a RabbitMQ broker is replicated across all nodes. An exception to this are message queues, which by default reside on one node, though they are visible and reachable from all nodes
运行RabbitMQ代理所需的所有数据/状态都将在所有节点上进行复制。
一个例外是消息队列,默认情况下驻留在一个节点上,尽管它们可以从所有节点看到并且可以访问
rabbitmq是AMQP的一种基于Erlang的实现
-
-
ju.outofmemory.cn ju.outofmemory.cn
-
rabbit_amqqueue_process是队列进程,rabbit_msg_store是负责进行消息持久化的进程
rabbitmq_amqqueue_process队列进程和rabbit_msg_store消息持久化进程,都是RabbitMQ启动或者创建队列时创建的
-
Erlang是一门动态类型的函数式编程语言,它也是一门解释型语言,由Erlang虚拟机解释执行。从语言模型上说,Erlang是基于Actor模型的实现。在Actor模型里面,万物皆Actor,每个Actor都封装着内部状态,Actor相互之间只能通过消息传递这一种方式来进行通信。对应到Erlang里,每个Actor对应着一个Erlang进程,进程之间通过消息传递进行通信。
Erlanng是一门动态类型的函数式编程语言,也是一门解释型语言,由Erlang虚拟机解释执行
-
- Sep 2017