![](https://img-blog.csdnimg.cn/6fe7ce00e32d4be489d483be987674b4.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
rabbitmq入门到精通
文章平均质量分 92
以实战案例为主
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
小码农叔叔
这个作者很懒,什么都没留下…
展开
-
java使用rabbitmq
**前言: 消息中间件,或消息队列的作用总结起来,可以用几个关键词描述,“异步”,“解耦”,“分布式”,“分流”,当然,其他的好处也是围绕这几个关键词展开论述。 分布式:在流行分布式开发的今天,随着开发的团队规模越来越大,业务分布范围越来越广,如何将开发工作从传统的单体架构项目合理的采用SOA思想进行重新规划越来越被看重,解决方案的核心思想就是实现现有工程的分布式服务治理,分布...原创 2018-08-24 16:14:32 · 27234 阅读 · 0 评论 -
RabbitMq分布式事务解决方案第二篇
前言在上一篇,我们谈到了如何基于RabbitMq实现一个通用的分布式事务解决方案的基本思路,本篇将具体具体编码来实现这一过程环境准备创建一个用于记录rabbitmq消息传递过程中的各自状态信息的表CREATE TABLE `trans_message` ( `id` varchar(64) DEFAULT NULL, `service` varchar(255) DEFAULT NULL, `type` varchar(255) DEFAULT NULL, `exchange` va原创 2021-03-10 22:34:34 · 26344 阅读 · 6 评论 -
RabbitMq分布式事务解决方案第一篇
前言微服务架构下,相比单机事务,一个比较复杂的地方在于,在分布式环境下,面对的是分布式事务,分布式事务整体来说无法严格遵循传统的ACID4个特性,而只能根据系统的业务指标,通常满足可用性,和最终一致性,这也是不少互联网产品的实践结果的选择在分布式事务一章中,探讨了有关常用分布式事务的几种解决方案,可以依据自己所在项目的特点,有选择的使用,比如对数据的一致性要求严格而对并发数可容忍的,可以考虑使用seata解决,对并发要求高,同时对数据一致性的要求也比较高的,可以考虑使用rocketMq事务消息下面要介原创 2021-03-07 18:17:34 · 57398 阅读 · 6 评论 -
rabbitmq实现秒杀中订单流量削峰
前言在Redis秒杀功能设计与实现一篇中,我们使用redis实现了商品的秒杀抢购功能,在当前的设计中,只涉及到商品抢购,即用户锁定名额,并将成功抢购到的用户信息保存到redis中了但是一个完整的抢购流程在业务流程中看到,包括锁定名额和下单,在超卖问题分析这篇中,我们是将抢购与订单放在一起进行的仔细分析这样的做法,在高并发的抢购环境下,这样做是欠妥的,因为使用了分布式锁,尽管时间很短,但分布式锁的存在仍然会耗费不少性能而且从系统的整体设计层面中,在微服务架构中,如果像双11那样瞬时订单量特别大的情况下原创 2021-02-21 18:38:37 · 37769 阅读 · 2 评论 -
SpringCloudStream整合rabbitMq
为什么会有SpringCloudStream既然已经实现了springboot与rabbitmq的集成了,为什么还会出现SpringCloudStream这个组件呢?我们知道,当微服务越来越来多的时候,仅仅是feign的http调用方式已经满足不了我们的使用场景了。这个时候系统就需要接入消息中间件了。相比较于传统的Spring项目、SpringBoot项目使用消息中间件的很多配置不同,Spri...原创 2019-09-15 23:04:06 · 27790 阅读 · 0 评论 -
rabbitmq消息确认机制
什么是消息确认?rabbitMq在传递消息过程中充当了代理人的角色,这个代理人就是broker,对于生产者(producer)来说,怎么知道消息被成功投递到了broker呢?rabbitmq提供了消息监听器,即listener来接收消息的投递状态 —— 这个listener指的是producer端的,而消息确认的确认涉及到两种状态,confirm和return总结下来就是,消息从produc...原创 2019-09-13 17:18:37 · 33289 阅读 · 1 评论 -
rabbitMq消息不可达returnListener的使用
我们使用rabbitMq进行业务解耦,日志记录或者处理高并发场景下的业务等,但在某些场景下,由于exchange、bindKey、routingKey没有设置正确,导致我们发送给交换器(exchange)的消息,由于没有正确的RoutingKey可能会存在一个消息丢失的情况,如果我们希望知道那些消息经过exchange之后,没有被正确的存入消息队列,那么应该如何进行处理。对于不可达的消息,我们的...原创 2019-08-29 19:25:38 · 25337 阅读 · 0 评论 -
rabbitmq死信队列详解与使用
什么是死信队列先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer将消息投递到broker或者直接到queue里了,consumer从queue取出消息进行消费,但某些时候由于特定的原因导致queue中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信,自然就有了死信队列;以上是个人的通俗解释,专业术语解释的比...原创 2019-08-28 22:26:13 · 145405 阅读 · 36 评论 -
rabbitmq消息重回队列
什么是消息的ACK不管是哪种类型的消息中间件,都有一一种机制,即consumer端的消息ACK,通俗来讲,就是消息的确认消费机制,为什么会有这个ACK机制呢?这个和消息中间件的架构设计有关下面是关于consumer端消息ACK的大致流程从图也可以理解,ACK的作用在于,消费端如果消费成功了,就通过ACK告知broker,broker接收到了ACK的消息后,就可以做其他的业务处理了,比如从队...原创 2019-08-27 22:45:54 · 20286 阅读 · 0 评论 -
rabbitmq消息确认机制及死信队列的使用
关于rabbitmq的基本概念和相关的理论这里就不做过多介绍了,在之前的篇幅中有过相应的介绍,也可以查询一些资料详细了解一下rabbitmq的基础知识,下面要介绍的点主要包括两个方面,1、rabbitmq的消息确认机制;2、rabbitmq的延时队列,也称作为死信队列的一些研究心得分享为什么会产生消息确认这个概念呢?其实rabbitmq的模式是我们熟悉的典型的观察者模式的具体实现,或者说是监...原创 2019-05-18 19:11:01 · 30795 阅读 · 6 评论 -
dubbo+rabbitmq+hystrix实现服务的高可用
实际业务中,我们总希望我们的系统能够尽可能做到高可用,容错性强,系统内部在服务的调用链路上,可控制性更好,这样一旦系统一旦出现问题,容易追踪问题的来源,尤其是在分布式开发,微服务化越来越流行的今天,如何达到上述的几项标准,是考量我们的系统的有效试金石,下面,我们使用dubbo模拟分布式系统环境下的调用,使用rabbitmq模拟分布式下消息的确认,以及在分布式环境下,服务调用失败的时候,采用hyst...原创 2018-10-29 00:00:57 · 11878 阅读 · 2 评论 -
springboot整合rabbitmq
java使用rabbitmq的基本操作在前面两篇文章中已经讲过了,实际项目中,使用ssm框架整合rabbitmq比较常见,但对于新手来说,个人觉得spring在整合rabbitmq时候,xml的配置文件里很容易让人抓狂,但只要配置好了,基本上不需要做过多的改动rabbitmq在实际使用中,主要的业务场景还是在分布式项目中,不同的业务处理完毕,需要异步的发送消息进行通讯的情况下,可以考虑使用ra...原创 2018-09-10 16:52:27 · 18765 阅读 · 1 评论 -
rabbitmq在exchange下的两种使用模式
上一篇,我们介绍了rabbimtmq的简单工作队列的使用方式,即生产者和消费者之间直接通过绑定相同的workqueue进行消息的发送和接收,如果业务逻辑比较简单,这样的方式也是可以用的,但在实际工作中,实际的业务场景远远比这个复杂,而且需要更加细粒度的对消息进行进行分发和接收,这就需要用到rabbitmq的另外一个组件exchange;顾名思义,exchange在rabbitmq中翻译为交换机...原创 2018-09-10 15:28:06 · 25568 阅读 · 0 评论