【问题标题】:Messaging library for jeroMQjeroMQ 的消息传递库
【发布时间】:2014-01-15 07:01:07
【问题描述】:

我选择了 jeroMQ 来构建用于从多个客户端发布内容的异步消息通道。在另一端,服务器端工作人员仅在服务器想要根据收到的消息通知客户端时才处理请求并通知客户端。

在深入挖掘时,正在寻找消息库来编组/取消编组消息。我发现 kvpmsg 类可以完成简单键值的工作。

如果存在某些标准库,不想重新发明轮子,可以应用于更大的对象

【问题讨论】:

    标签: json message-queue zeromq jeromq


    【解决方案1】:

    您似乎在要求数据序列化库。检查维基百科a list and a comparison of data serialization formats

    还有一个 relevant entry in ZeroMQ FAQ 解释了为什么 ZeroMQ 不包含任何序列化格式:

    ØMQ 是否包含用于将数据序列化到/从线表示的 API?

    没有。这一设计决策遵循了“做一件事,做好”的 UNIX 理念。在 ØMQ 的情况下,一件事是移动消息,而不是将数据编组到二进制表示。

    一些中间件产品确实提供了自己的序列化 API。我们认为这样做会导致像 CORBA(1055 页)这样的线级规范臃肿。相反,我们选择使用最简单的线路格式,以确保轻松的互操作性、效率并减少代码(和错误)膨胀。

    如果您想使用序列化库,那里有很多。参见示例

    请注意,序列化实现的性能可能不如您预期的那么好。您可能需要使用多种序列化格式和库对工作负载进行基准测试,以了解性能以及哪种格式/实现最适合您的用例(还必须考虑易于开发)。

    【讨论】:

    • 看了这个页面后有点拖拉和发布问题。我的目标是发送一个键值。但该值是一个整数列表。一种解决方案是将列表转换为逗号分隔的字符串,然后通过典型的标记化和解析将列表带回服务器端。我想避免后面的部分,即解析。
    • 是的,发明自己的序列化格式是我忘记提及的一个选项:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 2021-12-16
    相关资源
    最近更新 更多