【发布时间】:2015-01-23 21:19:21
【问题描述】:
我正在使用通过https://github.com/basho/erlang_protobuffs
使用 google protobuf 的 erlang 项目一段时间后,我对它的印象不太好(我发现在 erlang 中使用这种技术非常笨拙和不方便)。但当然,我知道这是因为我不会好好做饭。
哪个开源 erlang 项目正在使用 erlang_protobuffs?我对其使用的最佳(或至少足够)实践感兴趣。
【问题讨论】:
-
第一次看这个,我不清楚protobuf解决了Erlang的一个问题。
-
我正在尝试使用 protobuf 来实现与另一个(非 erlang)服务的网络交互。它只是将 DTO 编码为二进制格式以通过网络发送消息。我不确定我这样做是否正确(实际上这是因为我编写了很多愚蠢的样板代码,将 DTO 映射到应用程序级记录,反之亦然)。所以我只想看看其他人是怎么处理的。
-
ASN.1,二进制语法,Erlang 互操作库(特别是在 C/C++/Java/Python 和 Erlang 之间使用),JSON(或有限的 YAML,为了花哨),以及更垃圾的解决方案,如弱XML 导出。在 Erlang 中手动打包二进制文件并不难,所以这取决于你在做什么,这可能不是很疯狂(但 DTO 可能很疯狂)。如果您熟悉 ASN.1,则编写定义并将其提供给 Java、C 等。ASN.1 编译器和 Erlang asn1 库运行良好——但不了解情况,不知道什么适合。
-
有用的话,谢谢。我认为我应该重新考虑 protobuf 的目的和意图。
标签: serialization erlang