java消息队列-rabbit

RabbitMq的原理是什么?[面试9.5]

在这里插入图片描述
rabbitMq原理

RabbitMQ的高可用性(RabbitMQ high availability)[面试9.0]

RabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式

单机模式
单机模式,就是Demo级别的,一般就是你本地启动了玩玩儿的?,没人生产用单机模式

普通集群模式(无高可用性)(Normal cluster mode (no high availability))
普通集群模式,意思就是在多台机器上启动多个RabbitMQ实例,每个机器启动一个,你创建的queue,只会放在一个RabbitMQ实例上,但是每个实例都同步queue的元数据,你消费的时候,实际上如果连接到了另外一个实例,那么那个实例会从queue所在实例上拉取数据过来,这种方式没有高可用性,主要是为了提高吞吐量的

RabbitMq镜像集群模式(高可用性,但非分布式,无法通过扩展机器缓解数据压力)[面试9.5]



rabbitMq镜像集群模式-协作
rabbitMq镜像集群模式-视频

每个RabbitMQ节点都有这个queue的一个完整镜像
每次写消息到queue的时候,都会自动把消息同步到多个实例queue上

这种方式有两个缺点:
1.性能开销也太大
2:不是分布式的,无法通过扩展机器缓解数据压力

RabbitMQ消息队列如何保证消息的可靠性传输?(同问:如何处理消息丢失的问题?)[面试7.0]

How RabbitMQ message queues ensure reliable transmission of messages?




消息队列丢失数据怎么解决-协作
消息队列丢失数据怎么解决-视频

生产者弄丢了数据
生产者那里设置开启confirm模式之后,每次写的消息都会分配一个唯一的id,然后如果写入了RabbitMQ中,RabbitMQ会给你回传一个ack消息,如果RabbitMQ没能处理这个消息,会回调一个nack接口,告诉这个消息接收失败,生产者可以重试

RabbitMQ弄丢了数据
设置为可以持久化,即持久化队列的元数据
发送消息的时候将消息的deliveryMode设置为2,此时RabbitMQ就会将消息持久化到磁盘上去,只有消息被持久化到磁盘之后,才会通知生产者ack

消费端弄丢了数据
关闭RabbitMQ的自动ack,消费者业务逻辑处理完了再手动发送ack给RabbitMQ

RabbitMQ如何保证消息的顺序性?(How RabbitMQ guarantees message ordering?)[面试7.0]

<img class=“imgStyle” src="data:image/jpeg;base64,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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用 Maven 依赖 `spring-rabbit` 2.4.5 版本可以在 Spring Boot 应用程序中轻松实现 RabbitMQ 消息队列的集成。下面是一个简单的例子,演示如何使用 Spring Boot 和 `spring-rabbit` 完成 RabbitMQ 的集成。 首先,在 `pom.xml` 文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> <version>2.4.5</version> </dependency> ``` 接下来,创建一个 Spring Boot 应用程序,并在 `application.properties` 文件中配置 RabbitMQ: ```properties spring.rabbitmq.host=localhost spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest ``` 然后,创建一个消息监听器: ```java import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; @Component public class MessageListener { @RabbitListener(queues = "myQueue") public void handleMessage(String message) { System.out.println("Received message: " + message); } } ``` 最后,在应用程序的启动类中添加 `@EnableRabbit` 注解: ```java import org.springframework.amqp.rabbit.annotation.EnableRabbit; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableRabbit public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } ``` 现在,当消息发送到队列 `myQueue` 时,`MessageListener` 中的 `handleMessage` 方法将被调用。 这就是使用 Maven 依赖 `spring-rabbit` 2.4.5 版本实现 RabbitMQ 消息队列集成的简单示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2023年Java面试宝典

您的鼓励是对我的肯定,共建希望

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值