
rabbitmq
rabbitmq
乆尗邩乇
这个作者很懒,什么都没留下…
展开
-
RabbitMQ 宕机了怎么处理
RabbitMQ 宕机了怎么处理RabbitMQ 提供了持久化的机制,将内存中的消息持久化到硬盘上,即使重启 RabbitMQ,消息也不会丢失。持久化队列和非持久化队列的区别是,持久化队列会被保存在磁盘中,固定并持久的存储,当 Rabbit 服务重启后,该队列会保持原来的状态在RabbitMQ 中被管理,而非持久化队列不会被保存在磁盘中,Rabbit 服务重启后队列就会消失。非持久化比持久化的优势就是,由于非持久化不需要保存在磁盘中,所以使用速度就比持久化队列快。即是非持久化的性能要高于持久化。而持久化的原创 2020-08-14 10:12:34 · 3707 阅读 · 0 评论 -
rabbitmq如何保证消息不被重复消费
如何保证消息不被重复消费我们可以在生产者端,发送消息时,数据的变动部分,进行md5加密处理,同时配置上一个唯一id,每次发送的数据的唯一id是递增的,相当于版本号的功能,在消费者端,收到消息之后,首先去数据库匹配一下md5值如果数据库中记录的当前记录已经被消费,那么就不进行消费,如果发现数据库没有记录当前消息,或者记录的状态没有被消费,那么才会重新消费该消息...原创 2020-08-14 10:12:04 · 1372 阅读 · 0 评论 -
rabbitmq如何保证消息确定消息发送成功,并且被消费成功,有什么保障措施
如何保证消息确定消息发送成功,并且被消费成功,有什么保障措施解析:这里不用背,这里的问法会有很多中,这道题中问了两部分第一部分是确保发送成功,还可以被问成:消息发送失败了怎么办,或者如何保证消息可靠传输第二部分是确保消费成功,还可以被问成:消息消费时,发生异常了,消息已经被消费了,怎么办等首先,需要确保消息被发送成功,rabbitmq中提供了事物和confirm的机制,事物的话,就类似于数据库的事物,开启,执行,提交,如果过程中发生任何异常,就会触发回滚机制,我们可以在回滚中加入一些逻辑处理,重原创 2020-08-14 10:11:37 · 3782 阅读 · 1 评论 -
介绍一下rabbitmq
介绍一下rabbitmqRabbitMQ是Erlang语言开发的基于AMQP的一款消息中间件,核心思想是生产者不会将消息直接发送给队列,消息在发送给客户端时先发送给交换机,然后由交换机转发给对应的队列。对路由(Routing),负载均衡(Load balance)、数据持久化都有很好的支持。它里边有5种数据传递方式第一种是简单模型,一个生产者,一个队列,一个消费者,队列只能被一个消费者监听,所以生产者将消息发给队列之后,只能有一个消费者收到消息第二种是工作模型,一个生产者,一个队列,多个消费者,队列原创 2020-08-14 10:10:37 · 222 阅读 · 0 评论