如何在JetStream流上做请求-回复?



我在https://github.com/hnakamur/nats-stream-example/tree/2c834d7d967f024348fbaa478eae18e9749431ba上为JetStream Walkthrough - NATS Docs做了一个Go示例。

作为我实验的下一步,我试图为请求-回复演练- NATS文档制作一个Go示例,但在JetStream流上而不是非JetStream流上。我的尝试是https://github.com/hnakamur/nats-stream-example/commit/149243b8bd30974a592061cd9d0c3a9b7f3f30fc。

然而,只要我运行我的请求子命令,我得到的回复像msg.Data={"stream":"my_stream2", "seq":112},即使我没有运行我的回复子命令。

下面是复制的步骤:
$ nats-server -js
$ ./nats-stream-example stream-add --stream my_stream2 --subject foo2
$ ./nats-stream-example consumer-add --consumer pull_consumer2 --stream my_stream2
$ ./nats-stream-example request --subject foo2 --count 100

我如何在JetStream流上正确地做请求-回复?

回答我自己的问题,作为解决方法,我为回复创建了另一个主题,并将主题设置为消息头。然后,接收方从消息头中获取主题,并发布对主题的回复。

https://github.com/hnakamur/nats-stream-example/commit/1406b14bf06cc390268ee7fa082ab55c49b99050

最新更新