grpc 基础知识 - Go

栏目: Go · 发布时间: 7年前

该篇文章介绍了golang的grpc编程。

通过下面的例子,你将会学到:

1. 在一个.proto文件里define一个service

2. 用protocol buffer 编译 工具 生成server和client代码

3. 用go grpc的api写一个简单的server和client

你应该已经读过 概述( Overview ),并且对  protocol buffers 有所了解,注意教程中的例子用了protocol buffer 的proto3版本:详情见以下两个链接  proto3 language guideGo generated code guide .

为什么用grpc?

我们的示例是一个简单的路由映射应用程序,它允许客户机获取有关其路由上功能的信息,创建其路由的摘要,并与服务器和其他客户机交换路由信息,如流量更新。

用grpc我们可以在.proto文件中定义我们的服务,并且支持任何语言的server和client..这些server和client可以在从谷歌的内部服务器到你的平板电脑上运行。所有的不同平台的语言的通讯的复杂性都由grpc为你处理。用protocol buffer的优势包括高效的序列化/简单的IDL/高可用的接口更新

实例代码和setup

示例代码在 grpc/grpc-go/examples/route_guide 。去下载示例代码并且clone grpc-go通过运行如下命令:

$ go get google.golang.org/grpc

cd到grpc-go/examples/route_guide:

$ cd $GOPATH/src/google.golang.org/grpc/examples/route_guide

你应该已经安装了相应的工具来生成server和client的接口代码。如果没有看如下链接: Go quick start guide .

定义service

我们的第一步是通过protoco buffer 定义grpc的service以及response和request的类型.你可以在 examples/route_guide/routeguide/route_guide.proto 看到完成的.proto文件。

在proto文件中定义service:

service RouteGuide { ...}


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Clean Architecture

Clean Architecture

Robert C. Martin / Prentice Hall / 2017-9-20 / USD 34.99

Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”) By applying universal rules of software architecture, you can dramatically improve developer producti......一起来看看 《Clean Architecture》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

SHA 加密
SHA 加密

SHA 加密工具