![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MQ
文章平均质量分 59
一个风轻云淡
先搞钱,去养老,当保安,过日子(本人菜鸡一个,又菜又爱敲,希望能和您共同进步,当然如果您有问题,我会的,会尽量及时解答)
展开
-
MQ中间件概念一览
1. 大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力2. 消息服务中两个重要概念:消息代理(message broker)和目的地(destination)当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。原创 2023-02-14 02:15:00 · 605 阅读 · 0 评论 -
SpringCloud Stream消息驱动
SpringCloud Stream消息驱动简述了基本原理作用等原创 2022-08-16 22:41:23 · 232 阅读 · 2 评论 -
MQ备份交换机springboot
有了 mandatory 参数和回退消息,我们获得了对无法投递消息的感知能力,有机会在生产者的消息无法被投递时发现并处理。但有时候,我们并不知道该如何处理这些无法路由的消息,最多打个日志,然后触发报警,再来手动处理。而通过日志来处理这些无法路由的消息是很不优雅的做法,特别是当生产者所在的服务有多台机器的时候,手动复制日志会更加麻烦而且容易出错。而且设置 mandatory 参数会增加生产者的复杂性,需要添加处理这些被退回的消息的逻辑。如果既不想丢失消息,又不想增加生产者的复杂性,该怎么做呢?前面在设置死信队原创 2022-08-03 10:33:48 · 272 阅读 · 0 评论 -
MQ回退消息 springboot
如果发现该消息不可路由,那么消息会被直接丢弃,原创 2022-08-02 11:53:59 · 349 阅读 · 0 评论 -
MQ发布确认springboot版本
MQ发布确认springboot版本原创 2022-07-31 15:20:43 · 406 阅读 · 0 评论 -
Rabbitmq插件实现延迟队列
Rabbitmq插件实现延迟队列原创 2022-07-30 17:18:11 · 1973 阅读 · 3 评论 -
延时队列优化 (2)
在这里新增了一个队列QC,绑定关系如下,该队列不设置TTL时间。原创 2022-07-30 09:39:58 · 167 阅读 · 0 评论 -
延迟队列MQ
但对于数据量比较大,并且时效性较强的场景,如“订单十分钟内未支付则关闭“,短期内未支付的订单数据可能会有很多,活动期间甚至会达到百万甚至千万级别,对这么庞大的数据量仍旧使用轮询的方式显然是不可取的,很可能在一秒内无法完成所有订单的检查,同时会给数据库带来很大压力,无法满足业务要求而且性能低下。如果设置了队列的TTL属性,那么一旦消息过期,就会被队列丢弃(如果配置了死信队列被丢到死信队列中),而第二种方式,消息即使过期,也不一定会被马上丢弃,因为消息是否过期是在即将投递到消费者之前判定的,......原创 2022-07-29 22:54:57 · 1906 阅读 · 0 评论 -
springboot整合rabbitMQ 死信队列(基本)
springboot整合rabbitMQ死信队列(基本)原创 2022-07-28 17:56:18 · 687 阅读 · 0 评论 -
消息被拒MQ
消息被拒原创 2022-07-26 22:14:17 · 203 阅读 · 0 评论 -
队列达到最大长度代码实战
队列达到最大长度代码实战原创 2022-07-26 22:13:41 · 281 阅读 · 0 评论 -
死信队列 和消息TTL过期代码
死信队列 和消息TTL过期代码原创 2022-07-25 22:19:46 · 603 阅读 · 0 评论 -
Direct exchange
routingKey来表示也可称该参数为bindingkey,创建绑定我们用代码channel.queueBind(queueName,EXCHANGE_NAME,"routingKey");绑定之后的意义由其交换类型决定。Fanout这种交换类型并不能给我们带来很大的灵活性-它只能进行无意识的广播,在这里我们将使用direct这种类型来进行替换,这种类型的工作方式是,消息只去到它绑定的routingKey队列中去。...原创 2022-07-23 10:06:33 · 1832 阅读 · 0 评论 -
交换机Exchanges
空字符串表示默认或无名称交换机消息能路由发送到队列中其实是由routingKey(bindingkey)绑定key指定的,如果它存在的话。RabbitMQ消息传递模型的核心思想是生产者生产的消息从不会直接发送到队列。其次一旦我们断开了消费者的连接,队列将被自动删除。我们通过空字符串(“”)进行标识。...原创 2022-07-22 11:27:14 · 186 阅读 · 0 评论 -
MQ发布确认
发布确认原理一旦信道进入confirm模式,所有在该信道上面发布的消息都将会被指派一个唯一的ID(从1开始),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一ID),如果RabbitMQ因为自身内部错误导致消息丢失,就会发送一条nack消息,生产者应用程序同样可以在回调方法中处理该nack消息发布确认的策略,...原创 2022-07-20 10:25:52 · 387 阅读 · 0 评论 -
RabbitMQ持久化
rabbitmq如果重启的化,该队列就会被删除掉,如果要队列实现持久化需要在声明队列的时候把durable参数设置为持久化。此时并没有真正写入磁盘。持久性保证并不强,但是对于我们的简单任务队列而言,这已经绰绰有余了。确保消息不会丢失需要做两件事我们需要将队列和消息都标记为持久化。...原创 2022-07-21 06:45:00 · 665 阅读 · 0 评论 -
不公平分发
不公平分发。原创 2022-07-20 06:45:00 · 151 阅读 · 0 评论 -
RabbitMQ消息应答
C.Channel.basicReject(用于否定确认)与Channel.basicNack相比少一个参数不处理该消息了直接拒绝,可以将其丢弃了。A.Channel.basicAck(用于肯定确认)RabbitMQ已知道该消息并且成功的处理消息,可以将其丢弃了。这种模式仅适用在消费者可以高效并以某种速率能够处理这些消息的情况下使用。导致这些消息的积压,最终使得内存耗尽,最终这些消费者线程被操作系统杀死。.........原创 2022-07-19 10:10:56 · 999 阅读 · 0 评论 -
rabbitMQ轮训分发消息
轮训分发消息。原创 2022-07-19 09:55:51 · 359 阅读 · 0 评论 -
RabbitMQ名词解释
你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ是一个快递站,一个快递员帮你传递快件。Bindingexchange和queue之间的虚拟连接,binding中可以包含routingkey,Binding信息被保存到exchange中的查询表中,用于message的分发依据。Broker接收和分发消息的应用,RabbitMQServer就是MessageBroker。产生数据发送消息的程序是生产者。...原创 2022-07-17 11:18:25 · 531 阅读 · 0 评论 -
rabbitMQ---- >hello word
rabbitMQ---->helloword。原创 2022-07-17 11:07:05 · 159 阅读 · 0 评论 -
MQ简单介绍
MQ(messagequeue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。...原创 2022-07-15 21:11:29 · 740 阅读 · 0 评论