创建一个能跑的go-gprc

这篇具有很好参考价值的文章主要介绍了创建一个能跑的go-gprc。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

go-gRPC

创建项目

创建项目gprc,并新建文件夹server、client、pb
在pb文件下创建文件hello_grpc.proto并写入如下内容

syntax = "proto3";

option go_package="./;hello_grpc";

package hello_grpc;

message Req {
  string message = 1;
}

message Res {
  string message = 1;
}

service HelloGRPC {
  rpc SayHi(Req) returns (Res);
}

安装gRPC编译工具

详细信息参考grpc官网

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

安装protoc

protoc下载地址

打开protoc下载地址, 根据你的系统下载相应的包,并将解压后的bin文件夹中的protoc放入$GOPATH/bin

安装完成后将$GOPATH/bin添加到环境变量中

安装go-gRPC库

go get google.golang.org/grpc

编译hello_grpc.protoc文件

由于编译命令较长,可以在pb目录下新建build.bat文件存放编译命令

protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative ./hello_grpc.proto

创建一个能跑的go-gprc
最后的./hello_grpc.proto改为你的.proto文件的位置即可

项目结构

创建一个能跑的go-gprc

编译

cd pb
./build.bat

编译完成后会自动生成两个文件

hello_grpc.pb.gohello_grpc_grpc.pb.go

至此项目结构为

创建一个能跑的go-gprc文章来源地址https://www.toymoban.com/news/detail-762093.html

到了这里,关于创建一个能跑的go-gprc的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • go grpc高级用法

    gRPC 一般不在 message 中定义错误。毕竟每个 gRPC 服务本身就带一个 error 的返回值,这是用来传输错误的专用通道。gRPC 中所有的错误返回都应该是 nil 或者 由 status.Status 产生的一个error。这样error可以直接被调用方Client识别。 常规用法 当遇到一个go错误的时候,直接返回是无法

    2024年02月22日
    浏览(43)
  • Go 企业级gRPC原理

    Go 企业级gRPC, 又名:Go企业级应用到底层开发(第5天) 这个系列是准备做从go基础到Web开发,系统编程,云原生应用, 网络编程, 工具和脚本开发, 机器学习,CGo编程, 还有最后的编译器层级底层的分析,点上关注,方便每天阅读 一键三连是我最大的动力。谢谢~~ gRPC简介

    2024年01月24日
    浏览(52)
  • go语言 grpc 拦截器

    gRPC拦截器(interceptor)是一种函数,它可以在gRPC调用之前和之后执行一些逻辑,例如认证、授权、日志记录、监控和统计等。拦截器函数是gRPC中非常重要的概念,它允许我们在服务端和客户端添加自定义逻辑,以满足业务需求和运维需求。 在gRPC中,拦截器函数通常通过实现

    2024年02月04日
    浏览(38)
  • 从零开始构建gRPC的Go服务

    Protocol Buffers and gRPC是用于定义通过网络有效通信的微服务的流行技术。许多公司在Go中构建gRPC微服务,发布了他们开发的框架,本文将从gRPC入门开始,一步一步构建一个gRPC服务。 之前在B站看过一个gRPC教学视频,尝试跟着视频做但踩了不少的坑,因此决定自己动手从官方教

    2024年04月17日
    浏览(62)
  • 【gRPC实现java端调用go的服务】

    在lib下面的存在一个simple.proto文件,我们使用插件protobuf-maven-plugin对其进行编译。配置如下: 利用插件进行编译 后可以获得对应的文件。 在client下创建一个grpc的包,并将以上两个文件放入。最后创建一个SimpleClient。 最后在Application中调用即可

    2024年02月04日
    浏览(56)
  • Apinto 网关: Go语言实现 HTTP 转 gRPC

    gRPC  是由 Google 开发的一个高性能、通用的开源RPC框架,主要面向移动应用开发且基于  HTTP/2  协议标准而设计,同时支持大多数流行的编程语言。 gRPC  基于  HTTP/2  协议传输,  HTTP/2  相比  HTTP1.x 有以下优势: 采用二进制格式传输协议,支持多路复用。 支持通过同一个连

    2024年02月07日
    浏览(38)
  • golang gRPC:根据.protobuf文件生成go代码

    安装 protoc 编译器。如果没有安装,可以参考官方文档进行安装。 使用 protoc 命令生成 gRPC 代码: 此命令将生成 .pb.go 和 _grpc.pb.go 文件,其中包含 protobuf 和 gRPC 的代码实现. –go_out选项会生成纯粹的Protocol Buffer消息代码,这包括Go语言的消息结构体和一些辅助方法。如果你只

    2024年02月14日
    浏览(44)
  • 一文搞懂Go gRPC服务Handler单元测试

    在云原生时代和微服务架构背景下,HTTP和RPC协议成为服务间通信和与客户端交互的两种主要方式。对于Go语言而言,标准库提供了net/http/httptest包,为开发人员提供了便捷的方式来构建服务端HTTP Handler单元测试的测试脚手架代码,而无需真正建立HTTP服务器,让开发人员可以聚

    2024年02月04日
    浏览(64)
  • grpc-go通过context传递额外数据

    使用 ctx.Value 从 context 读取数据 使用 ctx.Value 往 context 写入数据 metadata 是 grpc 内置的,用来往 RPC 服务传递 http 头数据,分 in 和 out 两种,对应的 key 都为一个空 struct,分别为:mdIncomingKey 和 mdOutgoingKey 。 服务端的 ctx 和 md 直接打印出来,如下样子: 注意 md 中的值会被加上中

    2024年02月21日
    浏览(45)
  • go语言面试题:grpc和http的区别

    作者简介 :一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。 座右铭 :未来是不可确定的,慢慢来是最快的。 个人主页 :极客李华-CSDN博客 合作方式 :私聊+ 这个专栏内容 :BAT等大厂常见后端java开发面试题详细讲解,更新数目10

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包