专业投资者专业投资者定义
149
2024-10-31
大家好,今天小编来为大家解答以下的问题,关于rabbitmq下载教程,rabbitmq下载安装教程这个很多人还不知道,现在让我们一起来看看吧!
本文目录
linux的rabbitmq怎么卸载RabbitMQ如何通过持久化保证消息99.99%不丢失?mqtt协议和rabbitmq的区别rabbitmq的三种身份linux的rabbitmq怎么卸载rpm-qa|greprabbitmq//展示所有的包
yum-yremoverabbitmq或者
rpm-erabbitmq-server
yum-yremove好像要求安装方式也是yum-yinstall才行,卸载完rabbitmq之后要注意还有erlang是否也要卸载
RabbitMQ如何通过持久化保证消息99.99%不丢失?当下主流的消息系统有RabbitMQ、RocketMQ、ActiveMQ等,而RabbitMQ是基于Erlang开发,无论是并发、延时表现都很好。
RabbitMQ消息可靠性是靠什么实现的?消息可靠性是RabbitMQ的一大特点,RabbitMQ靠什么实现消息可靠性的呢?其实就是通过消息持久化来实现的,这样就避免了服务异常(重启、宕机)下消息和队列丢失的风险。
消息持久化是指RabbitMQ将内存中的数据(交换器Exchange、队列Queue、消息Message)落地到硬盘中存储,以防止异常情况导致内存中的数据丢失。
RabbitMQ如何实现消息持久化?RabbitMQ中不同数据持久化方式是不同的,主要有:
1、交换器(Exchange)的持久化
交换器Exchange若丢失会影响后续消息的写入,我们在创建Exchange时需要指定durable为true表示持久化。
2、队列(Queue)的持久化
在上面第一步操作中,在创建交换器时即使设置了durable为true后,Exchange不会丢失,但是里面的队列依旧会丢失。如何保证队列持久化呢?同样是在创建队列时指定durable为true即可。
3、消息(Message)的持久化
上面两步操作后,在重启RabbitMQ后,虽然Exchange和Queue不会丢失,但是Queue里的消息是会丢失的,那如何保证消息持久化不丢失呢?我们设置消息投递模式(deliveryMode)为2即代表消息持久化。
消息持久化并不能100%保证数据不丢失当我们将交换器/队列/消息都设置了持久化依旧不能100%保证数据不会丢失。这其实很好理解,内存中的数据写入硬盘是要时间的,突然断电、宕机重启等情况时消息可能没来得及落地,那么这些消息就有丢失的可能。
消息持久化会带来性能问题我们知道消息持久化是将内存中的数据写入硬盘中,但硬盘的读写速度远不如内存,所以开启消息持久化后会影响RabbitMQ的性能。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
mqtt协议和rabbitmq的区别mqtt释义:
消息队列遥测传输(MessageQueuingTelemetryTransport)
例句:
SubscribingandpublishingtoMQTTtopics.
订阅并发布到MQTT主题。
rabbitmq释义:
rabbitmq
例句:
NowallyouneedtodoistostarttheRabbitMQserver14.
现在你需要做的就是启动RabbitMQ服务器14。
rabbitmq的三种身份分别是以下三种:
direct:发布与订阅,完全匹配。我们可以简单理解为一对一的关系,一个交换器将消息发送给一个队列,是完全匹配的
fanout:广播,所有订阅该广播的队列都可以收到该消息。广播式交换器,不管消息的ROUTING_KEY设置为什么,Exchange都会将消息转发给所有绑定的Queue
topic:主题,规则匹配。
好了,文章到此结束,希望可以帮助到大家。