微服务之间如何使用不同的交互协议,如何连接API网关



我现在正在构建我的第一个教育微服务项目。

所有的服务都通过REST与客户端进行通信。此外,我想了解gRPC协议,所以我试图找到我的服务可以使用gRPC相互通信以及通过REST与API网关通信的方法。

为了有一个好的实践,我在不同的服务上使用了不同的框架-Express、Nest、Koa,并且没有一个不能同时以不同的方式公开API(据我所知(。

那么这有可能吗?或者我的体系结构应该只基于一种交互技术?我该怎么修?

谢谢!

实际上,我有几种方法可以做到这一点。首先,NestJS可以创建";"混合";应用程序,可以同时提供REST和gRPC(connectMicroService(API。其次,对于那些不能做到这一点的框架,解决方案是使用gRPC到HTTPJSON转码器(gRPC生态系统有一些:https://github.com/grpc-ecosystem/grpc-gateway

https://github.com/grpc-ecosystem/grpc-httpjson-transcoding)

因此,问题得到了回答(

感谢Sebastian Hildebrandt的关注。

最新更新