公司内部的业务接口都是使用 gRPC 进行通信,最近接入了一些友商,他们需要调用我们的业务接口,但是他们的系统只支持 http 协议的调用,为了减少代码的侵入性,我们计划引入开源网关来充当中间层,通过网关去转发接口信息,并进行 http 与 gRPC 协议的互转。
1 、支持 HTTP 转 gRPC 协议 2 、可以通过 openAPI 新增 /删除接口、配置网关转发信息等操作,方便我们其他程序集成 3 、最好是 go 开发,我们可以自行更改代码
![]() | 1 iyear 2023-03-20 11:43:01 +08:00 via Android ![]() 不熟悉具体那几个需求,grpc 和 http 互转的话用的是 grpc gateway |
2 guoooo00oohao 2023-03-20 11:44:08 +08:00 1. 用 go 开发的 apigateway 且能让你改核心代码, 且经过大规模生产检验我看没有. 2. 对于你的需求, 可以尝试 apisix, 有插件支持 grpc 到 http 转化, 支持插件开发. 不过 golang 的 plugin 看上去还不成熟, lua 的可以. |
3 richangfan 2023-03-20 11:48:41 +08:00 写个 http 服务,在路由层映射一下不就行了 |
![]() | 4 echoless 2023-03-20 11:53:56 +08:00 |
5 niuroumian 2023-03-20 12:28:02 +08:00 |
6 GopherDaily 2023-03-20 13:15:04 +08:00 - grpc 本身就是基于 http/2 的,你路子野点直接让对面用 http 调用你也行,但是不建议 - 将 json 格式的 grpc 请求转到 protobuf 格式的grpc 请求基本是都有的功能了,可以直接选你们的反向代理对应的 - 比如 nginx: http://nginx.org/en/docs/http/ngx_http_grpc_module.html |
7 DotLiu 2023-03-20 14:45:39 +08:00 你可以了解一下国产的开源网关 Apinto 仓库地址: https://github.com/eolinker/apinto 目前已经支持了多协议透传,包括 HTTP 、gRPC 、Dubbo2 协议,并且支持协议间的转换 提供 Cli 命令及 openAPI 操作,方便系统集成 拓展性也强,通过自定义插件丰富网关功能和特性 |
8 kaf 2023-03-20 15:30:58 +08:00 |
9 csh995426531 2023-03-20 19:38:12 +08:00 一楼正解 |
10 jooks 2023-03-20 19:58:45 +08:00 Apache ShenYu (Java) |
11 tairan2006 2023-03-20 20:29:05 +08:00 |
![]() | 12 samzong 2023-03-20 23:38:13 +08:00 其实可以用下 Contour , projectcontour vmware 出品的还不错 国内去年底阿里弄了 higress |
![]() | 13 SilencerL 2023-03-21 01:57:16 +08:00 apisix |
14 eric2Chen 2023-03-21 17:01:40 +08:00 我有在用这个网关,功能上满足我需求,源码看了也挺易懂的,实现自己的插件也不难。就是教程还有待加强。。不过开源的还要啥自行车。。他们有 q 群和微信,回复挺热心的 |
16 Coser OP @iyear 嗯啊,其实是想有没有现成的网关项目,有可视化界面,也可以支持 http 协议的转发,低代码操作,看了一下 grpc gateway ,新增一个服务就需要编译重启,有点麻烦 |
17 Coser OP @guoooo00oohao 感谢您的反馈,下面有童鞋推了 apinto ,看起来满足我的基本需求,我先使用看看 |
18 Coser OP @richangfan 低代码,想找个现成的满足多场景的,实在没法才考虑自己开发,避免重复造轮子 |
19 Coser OP @niuroumian 好的,我了解一下~感谢反馈 |