Golang Go语言中grpc转http api大佬们都用哪个库?

发布于 1周前 作者 h691938207 来自 Go语言

Golang Go语言中grpc转http api大佬们都用哪个库?
用 go-micro 的人多吗?

9 回复

加个 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 部署吗

有,也可实体机部署,很方便。编译环境建议 docker 化

3 楼正解了,go-micro 挺好的,就是现阶段大公司用自研(各种 rpc 脚手架),小公司没必要微服务




本来是想做业务解耦的,想试试微服务
虽然业务不大。但是不同的业务小功能模块挺多。

在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方法和路径的批注。

三、使用步骤

  1. 安装gRPC-Gateway插件。
  2. 编写包含google.api.http批注的proto文件。
  3. 根据proto文件生成gRPC和gRPC-Gateway源码。
  4. 添加业务代码。
  5. 编译、运行和验证服务。

四、优势

gRPC-Gateway的优势在于它允许开发者在不修改原有gRPC服务的情况下,快速将其暴露为HTTP API,从而方便前端或其他HTTP客户端的调用。

综上所述,gRPC-Gateway是Golang中将gRPC转换为HTTP API的常用且有效的库。

回到顶部