实现http同步请求-响应

u0njafvf  于 2021-06-05  发布在  Kafka
关注(0)|答案(1)|浏览(403)

我正在开发一个容器化应用程序,其中一个前端应用程序向api网关调用http请求。api网关接收到的请求数据通过kafka转发给微服务。但是我必须将响应作为响应发送回api网关和前端应用程序。有谁能指导我如何通过kafka实现api网关和micron服务之间的同步请求和响应。
我试过与生产商和消费者,这就像火和忘记我在哪里无法回应的要求。
提前谢谢。
阿伦

using Confluent.Kafka;

Producer Code
using var p = new ProducerBuilder<string, string>(config).Build();
 // Send the message to our test topic in Kafka                
                var dr = await p.ProduceAsync("test", message);

Consumer Code

using var c = new ConsumerBuilder<Ignore, string>(conf).Build();
  c.Subscribe("test");
 // Consume a message from the test topic. 
                    var cr = c.Consume(cts.Token);
dgiusagp

dgiusagp1#

如果我理解您的权利,您可能希望在kafka中设置类似于请求/响应rpc队列的内容。api(生产者)将请求放入requestkafka中,微服务(消费者)将接收请求进行处理。当响应准备就绪时,微服务(生产者)将响应放入responsekafka中,由api网关(使用者)拾取。最后,api网关将响应传递回前端。您需要弄清楚如何将微服务的响应关联回发出原始呼叫的客户端。rpc请求/响应是异步的。您可以通过让api直接调用微服务而不涉及kafka来进行同步调用。

相关问题