rabbitmq常见面试题一旦channel进入confirm模式所有在该信道上面发布的消息都将会被指派一个唯一的id从1开始一旦消息被投递到所有匹配的队列之后rabbitmq就会发送一个ack给生产者包含消息的唯一id这就使得生产者知道消息已经正确到达目的队列了 rabbitmq常 见面试题 1、使用RabbitMQ有什么好处? 1.解耦,系统A在代码中...
一旦channel进入confirm模式,所有在该信道上面发布的消息都将会被指派一个唯一的ID(从1开始),一旦消息被投递到所有匹配的队列之后,rabbitMQ就会发送一个Ack给生产者(包含消息的唯一ID),这就使得生产者知道消息已经正确到达目的队列了.如果rabiitMQ没能处理该消息,则会发送一个Nack消息给你,你可以进行重试操作。 2....
此时可以选择用 RabbitMQ 提供的事务功能,就是生产者发送数据之前开启 RabbitMQ事务channel.txSelect,然后发送消息,如果消息没有成功被 RabbitMQ 接收到,那么生产者会收到异常报错,此时就可以回滚事务channel.txRollback,然后重试发送消息;如果收到了消息,那么可以提交事务channel.txCommit。吞吐量会下来,因为太耗性能。
一旦channel进入confirm模式,所有在该信道上面发布的消息都将会被指派一个唯一的ID(从1开始),一旦消息被投递到所有匹配的队列之后,rabbitMQ就会发送一个Ack给生产者(包含消息的唯一ID),这就使得生产者知道消息已经正确到达目的队列了.如果rabiitMQ没能处理该消息,则会发送一个Nack消息给你,你可以进行重试操作。 2....
请解释RabbitMQ中的生产者、消费者、交换器、队列、绑定的概念。 RabbitMQ支持哪些消息模式? 如何保证消息的可靠性? 如何处理消息积压和消费延迟问题? RabbitMQ如何处理消息堆积的情况? 列举RabbitMQ支持的消息模式,并举例说明它们的适用场景。 如何在RabbitMQ中实现消息的持久化?涉及哪些组件的设置? MQ 有哪些常见问题...
1内存节点:ram,将变更写入内存。23磁盘节点:disc,磁盘写入操作。45RabbitMQ要求最少有一个磁盘节点。 28.队列结构? 通常由以下两部分组成 rabbit_amqqueue_process:负责协议相关的消息处理,即接收生产者发布的消息、向消费者交付消息、处理消息的确认(包括生产端的 confirm 和消费端的 ack) 等。
生产者丢失消息:(解决方案:RabbitMQ提供transaction和confirm模式) 从生产者弄丢数据这个角度来看,RabbitMQ提供transaction和confirm模式来确保生产者不丢消息;transaction机制就是说:发送消息前,开启事务channel.txSelect(),然后发送消息,如果发送过程中出现什么异常,事务就会回滚(channel.txRollback()),如果发送成功则提交...
4.RabbitMQ基本概念 Broker: 简单来说就是消息队列服务器实体 Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列 Queue: 消息队列载体,每个消息都会被投入到一个或多个队列 Binding: 绑定,它的作用就是把exchange和queue按照路由规则绑定起来 Routing Key: 路由关键字,exchange根据这个关键字进行消息投递 VHos...
RabbitMQ面试题 22道
RabbitMQ面试题集锦(精选) 1.使用RabbitMQ有什么好处? 1.解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦! 2.异步,将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度 3.削峰,并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常 ...