何时适合使用AMQP?

在我以前的工作中,我使用了AMQP的好处,但是我没有参与rabbitMQ子项目的开发。 在我目前的工作中,我想负责整合AMQP的一个实现(可能是rabbitMQ)。 这个问题我必须说服我的老板使用AMQP。

我正在阅读“RabbitMQ in Action”,Videla先生写道,AMQP可以改进任何系统,但我不明白我如何才能改进我的项目。 我们只使用两台服务器进行API调用,所以我们现在没有可扩展性问题。 我们处理真钱流量,这意味着我们需要成功确认任何操作,即我不能将任务放在队列中并“忘记”它。 AMQP可以带来什么好处?

当您不需要很小的缩放比例时,您能否为相对较小的系统提供几个真实世界的例子? 请忽略标准的“日志记录”和“广播消息”情况:)


听起来你所需要的只是RPC。 兔子不知道RPC,但它确实做得很好,因为:

  • 你可以使许多消息交易(即所有在一个交易中)
  • 它的平台,语言和协议格式不可知(即你可以发送二进制文件)
  • 由于经纪人的想法,您可以轻松添加更多服务器来处理这些过程。
  • 您可以使用RabbitMQ的管理界面轻松查看消息流和速率
  • RabbitMQ在架构层面是一种控制反转
  • 在RabbitMQ中,消息是合同......而不是程序。 这是做到这一点的正确方法。
  • 现在让我们比较一下这个SOAP:

  • SOAP不会为您提供代理或路由,因此您所有的服务器都需要了解彼此。 我无法告诉你为开发,分期,制作而必须使用插件IP地址有多恼人。
  • SOAP不提供事务。 你必须自己做。
  • SOAP必须使用XML
  • 有比SOAP客户端更可靠的RabbitMQ客户端。 SOAP兼容性是PITA。
  • SOAP你有消息和端点。 在某些情况下,这是一个专业人士。
  • 您不必使用RabbitMQ来使用事件总线/消息总线的思想。 我个人不会做出任何类型的应用程序,因为从纯同步RPC到异步事件总线/消息总线需要很多工作。 最好从一开始就这样做。

    链接地址: http://www.djcxy.com/p/34197.html

    上一篇: When is it appropriate to use AMQP?

    下一篇: Synchronous AMQP publish