【发布时间】:2015-12-08 00:57:01
【问题描述】:
在我们的分布式系统中,有本地和 .NET 组件,有一个代理,它既充当网络拓扑浏览器,又充当消息路由器。 传输和序列化由内部开发的组件提供 - 它丑陋且有缺陷。
我正在寻找提供 RPC 或消息传递以及序列化的解决方案。
我不需要 AMQP 代理,因为它需要额外管理交换和队列。
此外,我不需要系统中的消息持久性 - 每条这样的消息都只具有实时价值。
我知道 Thrift 提供 RPC 和序列化 - 它只对我部分有效,因为我们系统中的某些通信基于 PUB/ SUB 模式,而Thrift 不适合这种情况。
ZeroMQ 消息模式中的哪一种适合单向(异步)调用?
我们系统中的某些组件执行单向请求(这不是数据分发,所以ZeroMQPUB/SUB 套接字不适合这里,我认为)。
ZeroMQ REQ/REP 套接字也不是选项。也许其他一些模式?
【问题讨论】:
-
您已经淘汰了 Thrift,因为它不支持 PUB/SUB,而且您不想同时使用两者。所以本质上,剩下的唯一问题是:我应该选择什么样的模式来通过 ZMQ 进行简单的 RPC 调用? 可以这样总结吗?然后你应该相应地修改问题。
-
您可以使用经销商对经销商或推拉。但如果你有两种方式和一种方式,我建议使用经销商路由器。当消息是一种方式时不要回复。
标签: ipc zeromq messaging rpc thrift