
RabbitMQ 篇
文章平均质量分 97
学习中
小扳
有一天,小扳手走进了一家五金店。它看到了各种各样的工具,有锤子、钳子、螺丝刀等等。小扳手觉得自己在这里太小了,不起眼,很容易被忽视。
展开
-
RabbitMQ 篇-深入了解延迟消息、MQ 可靠性(生产者可靠性、MQ 可靠性、消费者可靠性)
如果消息的延迟时间设置较长,可能会导致堆积的延迟消息非常多,会带来较大的 CPU 开销,同时延迟消息的时间会存在误差。不过 SpringAMQP 提供的重试机制时阻塞式的重试,也就是说多次重试等待的过程中,当前线程式被阻塞的。该插件的原理是设计了一种支持延迟消息功能的交换机,当消息投递到交换机后可以暂存一定时间,到期后再投递到队列中。当重试失败之后,不会直接将消息丢失而是交给专门接收失败信息的交换机,再由专门的消费者进行消费,比如说监听到队列中有接收失败的信息,将其写入日志中等等处理的方法。原创 2024-11-10 10:24:56 · 8870 阅读 · 92 评论 -
RabbitMQ 篇-深入了解 RabbitMQ 安装以及 SpringAMQP 的基础使用(声明队列和交换机、发送接收消息、配置 JSON 消息转化器)
但是在实际开发时,队列和交换机是程序员定义的,将来项目上线,又要交给运维去创建,那么程序员就需要把程序中运行的所有队列和交换机都写下来,交给运维,在这个过程中是是很容易出错的。默认情况下,消息是平均分配每个消费者,并没有考虑到消费者的处理能力,没有充分利用每一个消费者的能力,这样显然是有问题的。Work queues,任务模型,简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息,如果直接将消息发送到队列中,则队列每一个消息只能被处理一次,每一个消息都不能被多个消费者同时消费。原创 2024-11-08 17:04:00 · 6669 阅读 · 75 评论