grpc 基础知识 - Go

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

该篇文章介绍了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 { ...}


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

查看所有标签

猜你喜欢:

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

Flask Web开发:基于Python的Web应用开发实战

Flask Web开发:基于Python的Web应用开发实战

[美] Miguel Grinberg / 安道 / 人民邮电出版社 / 2014-12 / 59.00元

本书不仅适合初级Web开发人员学习阅读,更是Python程序员用来学习高级Web开发技术的优秀参考书。 • 学习Flask应用的基本结构,编写示例应用; • 使用必备的组件,包括模板、数据库、Web表单和电子邮件支持; • 使用包和模块构建可伸缩的大型应用; • 实现用户认证、角色和个人资料; • 在博客网站中重用模板、分页显示列表以及使用富文本; • 使用基于......一起来看看 《Flask Web开发:基于Python的Web应用开发实战》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换