首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Erlang中使用gen-server从rabbitmq消费者向生产者发送响应

如何在Erlang中使用gen-server从rabbitmq消费者向生产者发送响应
EN

Stack Overflow用户
提问于 2021-01-07 16:29:00
回答 1查看 175关注 0票数 0

我有一个RabbitMq生产者和消费者。我使用Erlang编程语言和gen-server将消息从生产者发送到消费者。如何将消费者的回复返回给生产者?

EN

回答 1

Stack Overflow用户

发布于 2021-01-07 17:50:53

您必须使用rabbitmq队列实现远程过程调用(RPC)模式。为了接收响应,客户端需要随请求一起发送一个“回调”队列地址。基本步骤:

你的客户端应用程序中的

  1. 创建一个队列来获取响应并订阅它。
  2. 向你想要获取响应的每个rabbitmq消息添加额外的属性: reply_to -发送响应的队列名称(来自p.1的队列名称),用于区分您的请求的correlation_id - id (在erlang中,它可以是pid )。
  3. 服务器应用程序处理消息,并使用相同的相关id将响应发布到p.1中的队列。
  4. 客户端应用程序队列侦听器从correlation_id.
  5. Your获得响应,并将erlang消息发送到pid。

通过关联id,您可以只创建一个响应队列。您可以在documentation https://www.rabbitmq.com/tutorials/tutorial-six-elixir.html中详细阅读它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65608952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档