最近更新时间:2024.01.26 16:09:35
首次发布时间:2022.11.30 19:02:43
火山引擎 RabbitMQ 支持 AMQP 0-9-1 协议和 MQTT 协议,用户可使用任何实现 AMQP 0-9-1 协议和 MQTT 协议的 SDK 进行消息收发。常见的编程语言及其对应的 SDK 使用文档请参考下表。
关于开源 RabbitMQ SDK 的更多信息,请参考Clients Libraries and Developer Tools。
语言或框架 | SDK |
---|---|
Java | |
Spring Framework | |
.NET | |
Python | |
PHP | |
Rust | |
C and C++ | |
Go | |
JavaScript and Node | |
Objective-C and Swift |
火山引擎消息队列 RabbitMQ版服务端支持的最大消息大小为 32MiB,且不支持修改。超出限制的消息无法推送成功。
消息在服务端的保留时长取决于发送消息时设置的过期时间(TTL)。通常情况下,如果未设置过期时间,该消息会在服务端持续保留,直到该消息被消费后才会自动删除。此外,因各种原因重启实例时,尚未持久化的消息可能会被删除。
不支持。
目前 RabbitMQ 业务消费成功并且确认消费(Ack)以后,就会触发消息的自动删除。对于已经被消费的历史消息,尽管还处于消息保存期,也无法再进行查询回溯。
支持。
火山引擎消息队列 RabbitMQ版完全兼容 MQTT 协议,支持二级、多级 Topic。同时,还支持在消费消息时通过模糊匹配 Topic 进行消费。
如果 RabbitMQ 实例或节点的磁盘剩余空间小于 2GiB,或内存使用率达到 100% 时,后端服务禁止该实例或该节点的数据写入。为了避免磁盘或内存高水位导致的业务中断,建议设置磁盘容量和内存占用率的阈值监控告警,在实例性能消耗较高时及时处理,推荐设置的告警策略请参考磁盘使用率超过 85%。
说明
对于集群版的实例,在数据不均衡的场景下可能存在不同节点磁盘占用率差异较大的情况,导致磁盘使用率较低节点的存储空间未能有效利用。此时建议及时调整业务逻辑,均衡不同节点之间的数据写入量,避免写入倾斜。
火山引擎消息队列 RabbitMQ版兼容开源 RabbitMQ 3.8.18 版本。
消息队列 RabbitMQ版支持多可用区部署 RabbitMQ 实例,即支持多 AZ。多可用区部署的实例具备更强的容灾能力,全方位保障集群数据的可靠性和服务的可用性。
在购买 RabbitMQ 实例时,部署方式设置为多可用区部署,并选择 3 个可用区即可实现跨 AZ 容灾。创建实例后,不可修改实例的部署方式,即单可用区部署的实例无法切换为多可用区部署。
对于已购买的 RabbitMQ 实例,您可以在 RabbitMQ 实例的实例详情页签中基本信息区域找到可用区一行,查看可用区数量。如果可用区数量大于 1,表示该实例为多可用区部署的实例。