gRPC-Go基础(1)基础知识

文章目录

基础简介

gRPC
gRPC是Google发起的、开源的、高性能远程过程调用(RPC)框架系统,该系统基于HTTP/2协议传输,使用Protocol Buffer作为接口描述语言。
在gRPC中,客户端程序可以像调用函数一样地调用不同机器上的应用程序,其客户端和服务端可以在各种gRPC支持的语言的环境之间互相通信

Protocol Buffers
Protocol Buffers是谷歌发起的开源的, 语言无关、平台无关、可扩展的序列化结构化数据的协议。其具有性能好,效率高,且具有代码生成机制的优点,gRPC默认以Protocol Buffer作为接口描述语言。

gRPC和Go
gRPC支持多种语言,其中就包括golang,有关golang和grpc相关的官方资料详见google.golang.org和grpc-go。

环境搭建

Go插件安装
protoc-gen-go插件生成xxx.pb.go,protoc-gen-go-grpc插件生成xxx_grpc.pb.go。

  1. 安装
$ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
  1. 更新
$ export PATH="$PATH:$(go env GOPATH)/bin"

另外,在用到gateway的项目中还需要用到protoc-gen-grpc-gateway插件,参数校验可能用到protoc-gen-validate插件等。

至此,基本的gRPC开发环境就搭建好了,接下来就可以进行gRPC的项目开发了。

相关推荐

  1. gRPC-Go基础1基础知识

    2023-12-27 07:56:04       60 阅读
  2. gRPC-Go基础1)protoc的使用

    2023-12-27 07:56:04       54 阅读
  3. gRPC-Go基础(3)基础gRPC服务

    2023-12-27 07:56:04       63 阅读
  4. gRPC-Go基础(2)protobuf基础

    2023-12-27 07:56:04       41 阅读
  5. gRPC-Go基础(4)metadata和超时设置

    2023-12-27 07:56:04       39 阅读
  6. day 1go基础知识复习一下

    2023-12-27 07:56:04       31 阅读
  7. Go语言基础知识学习

    2023-12-27 07:56:04       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-27 07:56:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-27 07:56:04       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-27 07:56:04       87 阅读
  4. Python语言-面向对象

    2023-12-27 07:56:04       96 阅读

热门阅读

  1. 深入理解 golang 中的反射机制

    2023-12-27 07:56:04       56 阅读
  2. Go配置镜像源

    2023-12-27 07:56:04       70 阅读
  3. 云原生Kubernetes系列 | Kubernetes Secret及ConfigMap

    2023-12-27 07:56:04       52 阅读
  4. 三、C++版本OpenCV的API使用

    2023-12-27 07:56:04       61 阅读
  5. 第六章2 总结+若干实战题

    2023-12-27 07:56:04       64 阅读
  6. FreeSWITCH的sip_gethostbyname=true

    2023-12-27 07:56:04       64 阅读
  7. python之glob的用法

    2023-12-27 07:56:04       69 阅读
  8. DshanMCU-R128s2硬件设计参考

    2023-12-27 07:56:04       54 阅读
  9. SpringBoot3 整合Redis

    2023-12-27 07:56:04       49 阅读
  10. vue3中安装并使用CSS预处理器Sass的方法介绍

    2023-12-27 07:56:04       62 阅读
  11. Redis Stream消息队列之基本语法与使用方式

    2023-12-27 07:56:04       39 阅读
  12. [oracle数据库]dblink的使用

    2023-12-27 07:56:04       63 阅读
  13. 如何将自建的ElasticSearch注册成一个服务

    2023-12-27 07:56:04       59 阅读
  14. codeforces 1676F

    2023-12-27 07:56:04       65 阅读
  15. latexshop 使用bug:xxx has a comma at the end

    2023-12-27 07:56:04       56 阅读