Apache ActiveMQ是否支持Google protobuf作为传输协议?

时间:2011-11-29 09:57:57

标签: jms activemq protocol-buffers

我正在开发一个消息系统,我使用JBoss Netty + Google protobuf进行POC。选择protobuf是因为它具有快速的序列化/反序列化,相对较低的流量成本和多种语言的可用性。

但是,当涉及到高负载下的生产时,自编码服务器应用程序永远不会像完善和经过测试的框架那样好。

问题是,我找不到允许我使用protobuf作为传输协议的框架。 Apache ActiveMQ和ActiveBlaze是我能找到的最接近的东西,但文档几乎不存在。

我偶然发现了ActiveMQ protobuf实施的内容,但官方的ActiveMQ文档中没有提醒它(它不在支持的协议中)。

所以我的问题是AMQ是否支持protobuf以及它是如何集成的?

1 个答案:

答案 0 :(得分:2)

不,ActiveMQ使用自己的OpenWire协议或Stomp协议。 protobuf位用于底层KahaDB消息存储,而不是线路级部分。您可以将您的protobuf数据存储在BytesMessage中并以这种方式传输,以便您可以在任何一端封送和解组数据。