我想把我的头周围 最近我们成功.它看起来很棒间机(集、局域网、广域网)应用程序之间的通信,但我不确定如果它是适当的(在建筑和目前的执行条款)使用作为一个软件总在一台机器。

它是值得拔出目前的高性能信息传递框架来代替它与最近我们成功,或者是这个下降到的 同样的陷阱,因为RPC 通过模糊之间的区别地和非本地的沟通?

我也有警惕性的影响,使用广域网技术为内部机通信,虽然这可能是更多的是执行关于体系结构。

战争故事,将不胜感激。

有帮助吗?

解决方案

AMQP不是RPC框架。它提供了构建块来模拟共享队列,RPC,pubsub等内容,但它没有强制要求使用它。

如果你想对应用程序进行分区(使其在途中可分发)并将其与AMQP连接在一起,我认为这是正确的技术。可能有更快的替代方案,但可能没有像AMQP那样通用。

其他提示

AMQP是一个规范,所以你真的要比较苹果和橙子。真的没有那么多生产就绪的AMQP提供商;在撰写本文时,没有一家主要的消息传递提供商或供应商支持AMQP(例如IBM,Tibco,Sonic,BEA,Oracle,SwiftMQ,MS,Apache ActiveMQ,来自Sun的openmq) - 因此所有可用的AMQP提供商都是新的。 / p>

因此,我建议将您感兴趣的AMQP提供程序与消息传递框架进行比较。只是因为它的读取方式而且没有任何意义可以解决一些工作正常的问题。将字节写入套接字:)

在最近我们成功的标准越来越成熟,并解决了一些长毛的问题困扰的其他通讯标准的样JMS。你的问题是否值得换一个现有的解决方案,我想说它依赖。我会非常怀疑,因为据推测该系统已经工作,在生产高性能。

如果你有问题,如:

  • 互操作性不工作
  • 不能扩展很容易
  • 业绩不够好
  • 目前的信息解决方案是昂贵的(维持)

你应该调查所需的工作和分析的益处更加精确。如果你已经快乐,更换一个通讯框架不是要去投资回报。

作为可靠,极其灵活(在消息传递模式方面)的基础,它可以用于许多消息传递场景,包括机内(即进程间)和网络间。它可以从零到大型,高带宽,多网络系统一直扩展。

我目前正在评估它是否适用于一个小型但相对复杂的近实时系统,我们不关心这些消息的传播距离,或者在合理范围内(在合理范围内)消耗它们的程度。如果消费者坐在同一台机器上,那就这样吧。我试一试,看看你做了什么。如果您想将原型系统拼凑在一起,请使用python和 Pika 库。

AMQP看起来更像是SOA的可靠传输中间件产品,而不是内部使用的东西。

如果您主要对机内场景中的表现感兴趣,那么问题不在于AMQP(这只是线路级协议),而在于您应该尝试哪种实现。

通过消除网络引入的延迟,您可能会对各种实现的原始性能更加敏感。因此,我会看一下用C ++实现的产品,如Qpid或Zeromq。

Qpid可以在一些不错的硬件(四核)上轻松达到400 000条消息/秒(带有1024字节的消息)。 Zeromq可能会表现得更好,因为你可以拥有点对点通道,而Qpid正在使用代理架构(有一步)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top