知识卡片
RabbitMQ为何要支持多种协议
内容
RabbitMQ的核心实现是AMQP协议的Erlang实现,但它同时还支持STOMP、MQTT等协议网关。STOMP是一种极简的纯文本消息协议,胜在实现门槛低、易被各种语言的客户端接入;MQTT则是为低带宽、不稳定网络环境设计的轻量协议,更适合物联网终端与传感器场景。发散:一个Broker选择支持多协议,本质是用协议网关把”消息存储与路由”这个核心能力和”客户端如何接入”这个外围问题解耦——内核只认AMQP,外部协议只是转换层,不必为每种场景重新实现一套消息系统。
参考来源
《RabbitMQ实战指南》第2章《RabbitMQ入门》