node.js - 微服务之间如何使用不同的交互协议,连接API网关?
问题描述
我现在正在构建我的第一个教育微服务项目。
所有服务都通过 REST 与客户端对话。另外,我想了解 gRPC 协议,因此我试图找到我的服务可以使用 gRPC 相互通信以及通过 REST 与 API Gateway 通信的方法。
为了获得良好的实践,我在不同的服务上使用了不同的框架——Express、Nest、Koa,没有一个不能同时以不同的方式公开 API(据我所知)。
那么有可能吗?或者我的架构应该只基于一种交互技术?我该如何解决?
谢谢!
解决方案
实际上,有几种方法我可以做到。首先,NestJS 可以创建“混合”应用程序,可以同时提供 REST 和 gRPC (connectMicrocervice) API。其次,对于那些做不到的框架,解决办法是使用gRPC转HTTP JSON转码器(grpc生态有一些: https ://github.com/grpc-ecosystem/grpc-gateway
https://github.com/grpc-ecosystem/grpc-httpjson-transcoding )
所以,问题得到了回答)
感谢 Sebastian Hildebrandt 的关注。
推荐阅读
- javascript - 角 2 | 8 嵌套类 - 最佳选择
- xslt-1.0 - 多组 XML 节点
- javascript - 使用 vuex 模块切换真/假?
- python-3.x - 如何在正交图的边界绘制 Lon/Lat 值?
- excel - VBA根据单元格值将电子邮件发送到excel中的电子邮件地址
- java - Selenium Java aShot PDF的全屏截图不起作用
- mysql - 如何正确禁用 MariaDB 的 InnoDB 全文停用词?
- python - 如何使用 Python 解析爬虫中的 iFrame 内容
- c++ - 将 XCode 升级到版本 11.1 后 C++ 编译失败
- c# - 材质编辑器中的着色器总是以固定值显示?(统一)