美文网首页Springboot整合Java 杂谈
AMQP-RabbitMQ/6/RPC模式/关注消息处理结果

AMQP-RabbitMQ/6/RPC模式/关注消息处理结果

作者: 垃圾简书_吃枣药丸 | 来源:发表于2019-06-08 01:01 被阅读2次

    6. RPC

    But what if we need to run a function on a remote computer and wait for the result? Well, that's a different story. This pattern is commonly known as Remote Procedure Call or RPC.

    大概意思是说,上面几种模式都是生产者将消息发送到Rabbitmq,然后就不管了,也不管是否有消费者进行了消费,也不管消费的结果是怎样的。上面几种场景已经可以满足大多数需求。但是有一种场景是生产者必须知道消费结果才能进行后续操作,

    • 图示


      image.png
    • Our RPC will work like this:
      • For an RPC request, the Client sends a message with two properties: replyTo, which is set to a anonymous exclusive queue created just for the request, and correlationId, which is set to a unique value for every request.
      • The request is sent to an rpc_queue queue.
      • The RPC worker (aka: server) is waiting for requests on that queue. When a request appears, it does the job and sends a message with the result back to the Client, using the queue from the replyTo field.
      • The client waits for data on the reply queue. When a message appears, it checks the correlationId property. If it matches the value from the request it returns the response to the application.

    源代码: 基于xml配置的SpringMvc项目https://github.com/FutaoSmile/SpringMvcStudyBaseXML

    相关文章

      网友评论

        本文标题:AMQP-RabbitMQ/6/RPC模式/关注消息处理结果

        本文链接:https://www.haomeiwen.com/subject/gbebxctx.html