hyperf/jet

多Hyperf项目RPC调用问题

Closed this issue · 2 comments

现在在Laravel项目里使用hyperf/jet 调用三个Hyperf项目(分别是a、b、c)的RPC(协议jsonrpc-http),同时使用server provider 和 facade 做好封装。
当前情况,一个HTTP API里调用a 项目的多个RPC服务是没问题的,但是无法同时调用了两个以上项目的RPC 服务会报错

image

一个笨方法是GuzzleHttpTransporter的 client 每次重新new下
image

另外一个笨方法是,三个项目用不用的协议

只要不复用一个 transporter 就没问题啊。。

注册协议和服务,使用的时候再创建client对吧,有点低效。

现在是做了service provider 的封装,然后使用facade使用的,clientFactory只需要创建一次

这是对其中一个项目的封装:
image