Golang Go语言中grpc转http api大佬们都用哪个库?
Golang Go语言中grpc转http api大佬们都用哪个库?
用 go-micro 的人多吗?
加个 nginx 前置就好了吧
更多关于Golang Go语言中grpc转http api大佬们都用哪个库?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
micro 现阶段应用的应该不多吧,一般都是大公司才经常用微服务
grpc-gateway, 另加 swagger 生成 API 文档,protoc-gen-validate 做 proto 字段校验
#3 老哥有结合 k8s 部署吗
3 楼正解了,go-micro 挺好的,就是现阶段大公司用自研(各种 rpc 脚手架),小公司没必要微服务
grpc-gateway
本来是想做业务解耦的,想试试微服务
虽然业务不大。但是不同的业务小功能模块挺多。
在Golang中,将gRPC转换为HTTP API,常用的库是gRPC-Gateway。以下是对gRPC-Gateway的详细介绍:
一、概述
gRPC-Gateway是Google protocol buffers compiler protoc的插件,它读取protobuf service定义并生成反向代理服务器。这个反向代理服务器运行后,可以对外提供RESTful服务,并在收到RESTful请求后通过gRPC调用原有的gRPC服务。
二、原理
gRPC-Gateway根据服务定义中的google.api.http批注生成反向代理服务器。这些批注定义了gRPC服务如何映射到JSON请求和响应。因此,在使用gRPC-Gateway时,需要在protobuf文件中添加相应的HTTP方法和路径的批注。
三、使用步骤
- 安装gRPC-Gateway插件。
- 编写包含google.api.http批注的proto文件。
- 根据proto文件生成gRPC和gRPC-Gateway源码。
- 添加业务代码。
- 编译、运行和验证服务。
四、优势
gRPC-Gateway的优势在于它允许开发者在不修改原有gRPC服务的情况下,快速将其暴露为HTTP API,从而方便前端或其他HTTP客户端的调用。
综上所述,gRPC-Gateway是Golang中将gRPC转换为HTTP API的常用且有效的库。