RabbitMQ在java中的使用、整合

目录

初识RabbitMQ

1.什么是RabbitMQ

2.RabbitMQ同时支持同步调用和异步调用

RabbitMQ在java中整合

1.添加依赖

2.在yaml中配置RabbitMQ连接

3.添加配置类

 4.在测试类中测试

 总结


初识RabbitMQ

1.什么是RabbitMQ

RabbitMQ是一个开源的消息代理和队列服务器,它基于高级消息队列协议(AMQP)设计。RabbitMQ可以作为消息代理、任务队列、事件传输系统等,广泛应用于分布式系统和微服务架构中

2.RabbitMQ同时支持同步调用和异步调用

1.同步(Synchronous):

        在同步模式下,生产者发送消息后,会等待直到消息被确认或者被拒绝,然后才继续执行后
        续的操作。

        这种方式确保了消息的发送和接收是顺序进行的,适用于需要严格顺序控制的场景

优点:

        时效性强,等待结果后返回

缺点:

        扩展性差

        性能下降

        级联失败问题

2.异步(Asynchronous)

        在异步模式下,生产者发送消息后,不需要等待消息确认,就可以继续发送下一条消息或者
        执行其他任务。

        这种方式可以提高消息处理的吞吐量,因为生产者不需要等待每条消息的确认。

        异步模式通常用于消息量大、对实时性要求不高的场景,或者当消费者处理速度较慢时,以
        避免生产者阻塞。

优点:

        耦合度低,扩展性强

        异步调用,无需等待,性能好

        故障隔离,下游服务故障不影响上游业务

        缓存消息,流量削峰填谷

缺点:

        不能立即得到调用结果,时效性差

        不能确定下游业务是否成功

        业务安全依赖于Broker的可靠性

Broker:消息代理

像查询就不需要用到异步调用,因为查询必须是要等查出来才能进行下一步操作的

RabbitMQ也有自己的管理界面,可以也可以在管理界面直接进行交换机,队列的建立

RabbitMQ在java中整合

1.添加依赖

以下是整合RabbitMQ的依赖和一些基本依赖

SpringAMQP是RabbitMQ使用的主要依赖

SpringAMQP提供声明式的消息监听,我们只需要通过注解在方法上声明要监听的队列名称,将来
SpringAMQP就会把消息传递给当前方法

        <!--AMQP依赖,包含RabbitMQ-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
        <!--单元测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <!--Jackson-->
       
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值