重启RabbitMQ实例时,若其中一台RabbitMQ重启失败,会如何处理?
重启RabbitMQ实例时,不会重启实例所在虚拟机,仅重启RabbitMQ进程。
重启集群实例时,若其中一台RabbitMQ进程重启失败,则重启后实例状态依然为“运行中”,并提示“部分节点故障”。在每台虚拟机上都有RabbitMQ的守护进程,定时检查RabbitMQ进程是否存在,当进程不存在时会自动拉起RabbitMQ进程。
如果RabbitMQ实例异常持续超过1分钟,会上报告警。
RabbitMQ集群实例如何均衡分发请求到每个虚拟机?
集群内部使用LVS做负载均衡,由LVS将请求均衡分发到每个虚拟机节点。
RabbitMQ实例是否支持持久化,如何定时备份数据?
RabbitMQ支持消息数据持久化,可从客户端连接RabbitMQ并设置消息持久化,也可在RabbitMQ集群管理工具界面创建队列时设置消息持久化。
不支持客户自定义定时备份数据,或从界面触发备份数据。
RabbitMQ实例开启SSL开关后,证书如何获取?
RabbitMQ实例开启SSL后只做单向认证,不需要证书。
RabbitMQ实例的SSL开关是否支持修改?
不支持动态修改,即如果实例创建时没有选择开启,创建完成之后,不支持修改,建议在实例创建时将开关打开。
RabbitMQ实例支持延迟消息队列么?
RabbitMQ可以通过设置消息的有效期、和死信队列来实现延迟消息。
同时,也提供安装插件实现延迟消息。
消息堆积对业务有什么影响?
为了保证服务的稳定可靠,分布式消息服务RabbitMQ版采用了默认的40%高水位配置。当内存占用率达到40%高水位后,会触发流控,生产者流程会被阻塞。消息堆积可能造成内存高水位,为了避免高水位的产生,请及时消费积压在队列中的消息。
消费的最长保留时间是多久?
一般情况下消息如果未被消费会一直保留,只有被消费后,才会被删除。但是如果设置了过期时间(TTL),则以TTL时间为准。