跨平台、跨语言的消息传递系统?

标签 cross-platform ipc messaging

我正在开发一组应用程序,它们协同工作以创建一个用于处理计量数据的系统。我想让它们松散耦合有几个原因,并且系统应该可以由第三方扩展,因此应用程序将通过消息传递绑定(bind)在一起。

我正在寻找一种消息传递系统,它提供(至少)C#、Java 和 Python 中的绑定(bind),并支持消息传递模式,如发布-订阅、保证交付、选择性消费者(如 .Net 消息传递中的 Peek)。

据我所知,JMS 或 .Net 消息传递没有任何问题,只是它们仅适用于 .Net/Java。

系统应该让我控制在设置 channel 时使用哪种传输机制(套接字、消息队列等)。我希望能够扩展到远程机器并通过本地交通设施加快速度。

如果我找不到合适的东西,我将不得不自己动手。我可能会使用 Google 的 Protocol Buffer 进行序列化。如果有人对技术选项有其他建议,那就开枪吧。

哦,是的 - 我想在每个 channel 或每个消息的基础上进行可选加密。

ETA:感谢所有快速回复。我现在正在通过文档和宣传工作。有没有人使用过以下技术,为了什么/有什么结果?

最佳答案

活跃的MQ

http://activemq.apache.org/cross-language-clients.html

支持以下所有协议(protocol)

  • OpenWire
  • 休息
  • 跺脚
  • WS 通知
  • XMPP
  • AMQP

  • 谢谢
    保罗

    关于跨平台、跨语言的消息传递系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/258638/

    相关文章:

    android - MediaPlayer 视频大小代号?

    ruby - (跨平台)检查文件路径是否绝对,而不使用 Pathname 库

    sockets - Unix-如何将消息发送到多个进程?

    android - 科尼 : Ant build error=exec-shell returned: 1

    c++ - 切换到 Linux 进行 Windows 开发,坏主意?

    perl - IPC::Run - 检测早产儿退出和关闭管道

    c - openMPI 在服务器集群上运行期间无限等待?

    .net - MassTransit - 初始化复杂消息的最佳实践

    ios - 快速消息传递应用程序,uitableview 无法正确响应键盘?

    node.js - zeroMQ vs node.js vs beanstalkd vs Twisted