【发布时间】:2010-11-28 09:29:19
【问题描述】:
我正在使用 gSoap 将遗留 C++ 系统重构为 SOA。我们有一些性能问题(非常大的 XML),所以我的领导让我看看协议缓冲区。我做到了,它看起来很酷(我们需要 C++ 和 Java 支持)。但是协议缓冲区只是用于序列化的解决方案,现在我需要将它发送到 Java 前端。从 C++ 和 Java 的角度来看,我应该使用什么来通过 HTTP(只是内部网络)发送这些序列化的内容?
PS。另一个人试图加速我们的 gSoap 解决方案,我只对协议缓冲区感兴趣。
【问题讨论】:
-
仅供参考。与 gsoap 团队讨论了性能(我参与了这个),我们建议使用
SOAP_XML_TREE标志或使用-DWITH_NOIDREF编译。如果没有这个标志,性能可能会低得多,因为 SOAP 编码使用多引用元素 (id-ref) 来序列化图形(即检测共同引用的对象、分析循环数据结构等)。建议的标志关闭此功能以将 XML 序列化为树。消息传递速度大大提高。性能的唯一瓶颈是网络延迟和带宽。 -
@Alex SOAP 还在更新吗?这实际上令人印象深刻!这个问题已经 7 岁了,所以不会采取行动:)
-
据我所知,其他人都已阅读包含此建议的常见问题解答(自 2005 年以来)。是什么让您相信这是最近的事态发展?
-
@alex 我没有阅读那个常见问题解答,所以你的论点不可能是真的,显然不是每个人都读过它。它也无关紧要,因为我说我只对协议缓冲区感兴趣。
标签: java c++ http protocol-buffers