如何实现go-micro与不同gRPC框架间的无缝通信?

2026-05-19 15:520阅读0评论SEO资讯
  • 内容介绍
  • 相关推荐

本文共计1424个文字,预计阅读时间需要6分钟。

如何实现go-micro与不同gRPC框架间的无缝通信?

在先前文章中,分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式。两者均能正常走通。不过,当两者混合使用时,相互访问便可能出现问题。例如,使用go-micro插件生成的gRPC客户端。

在之前的文章中分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式,都能正常走通。不过当两者混合使用的时候,互相访问就成了问题。比如使用go-micro插件生成的gRPC客户端访问基于gRPC官方插件创建的服务端时就会出现如下错误:

{"id":"go.micro.client","code":501,"status":"Not Implemented"}

经过一番探索,发现是因为go-micro的插件生成代码时丢弃了proto定义中的package,客户端API和服务端API都没有使用这个package,所以它自己也能逻辑自洽,但是和其它框架或者语言的gRPC服务通信时就出现问题了。

阅读全文

本文共计1424个文字,预计阅读时间需要6分钟。

如何实现go-micro与不同gRPC框架间的无缝通信?

在先前文章中,分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式。两者均能正常走通。不过,当两者混合使用时,相互访问便可能出现问题。例如,使用go-micro插件生成的gRPC客户端。

在之前的文章中分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式,都能正常走通。不过当两者混合使用的时候,互相访问就成了问题。比如使用go-micro插件生成的gRPC客户端访问基于gRPC官方插件创建的服务端时就会出现如下错误:

{"id":"go.micro.client","code":501,"status":"Not Implemented"}

经过一番探索,发现是因为go-micro的插件生成代码时丢弃了proto定义中的package,客户端API和服务端API都没有使用这个package,所以它自己也能逻辑自洽,但是和其它框架或者语言的gRPC服务通信时就出现问题了。

阅读全文