Go GRPC 入门(一)
前言
微服务相关
使用 GRPC 通讯的 Golang 微服务入门
举例写一个微服务,接收网址发送请求获取返回结果返回
正文
安装工具
安装 protobuf
这是 proto 文件的编译器
点我下载
选择最新的 releases 中的适合你版本的包下载即可
如 windows 选 win64.zip 下载后解压

解压后打开包内的 bin 文件夹,里面有 protoc.exe

将其粘贴到windows的环境变量中的某一个文件夹内以便在 CMD 中随地可访问
比如将其放至 C:\Windows 下
打开 CMD 输入 protoc --version
成功打印当前版本即可

安装相关包
安装 golang 的proto工具包
go get -u github.com/golang/protobuf/proto
安装 goalng 的proto编译支持
go get -u github.com/golang/protobuf/protoc-gen-go
安装 GRPC 包
go get -u google.golang.org/grpc
创建项目
模拟微服务开发,在某个空文件夹下建立两个文件夹
分别为 client 和 server
创建 proto 文件
proto 文件是微服务交互的基本
proto的语法可见
GoogleDocs
这里简单写一个示例(spider.proto)
syntax = "proto3";  // 协议为proto3
package spider;  // 包名
// 发送请求
message SendAddress {
    // 发送的参数字段
    // 参数类型 参数名 标识号(不可重复)
    string address = 1;  // 要请求的地址
    string method = 2;  // 请求方式
}
// 返回响应
message GetResponse {
    // 接收的参数字段
    // 参数类型 参数名 标识号
    int32 httpCode = 1;  // http状态码
    string response = 2;  // 返回体
}
// 定义服务,可定义多个服务,每个服务可多个接口
service GoSpider {
    // rpc请求 请求的函数 (发送请求参数) returns (返回响应的参数)
    rpc GetAddressResponse (SendAddress) returns (GetResponse);
}
生成 .bp.go 文件
使用刚才下载的 protoc 工具将 proto 文件编译成 golang 可识别的文件
                            输出的目录 proto所在目录
protoc --go_out=plugins=grpc:./ ./spider.proto
运行后会在当前目录下生成 spider.pb.go 文件
该文件是 server 和 client 的通信协议,业务代码不在这里,所以除非必须改,否则勿动
Go GRPC 入门(一)的更多相关文章
- grpc入门(三)
		grpc入门(三) 一.介绍 本文是关于grpc的第三篇博文,是对前两篇博文的具体代码实现,秉着个人一贯的风格,没有太多抒情和总结,直接就上代码. 文章代码参考:https://github.com/ ... 
- Go 中的 gRPC 入门详解
		目录 Go GRPC 入门 1,安装包 2,gRPC 服务端 3,gRPC 客户端 4,编译运行 5,其它 GRPC Protobuf buffer 字段类型 字段规则 Protobuf gRPC 四 ... 
- 微服务架构攀登之路(三)之gRPC入门
		一.gRPC入门 1. gRPC 简介 gRPC 由 google 开发,是一款语言中立.平台中立.开源的远程过程调用系统 gRPC 客户端和服务端可以在多种环境中运行和交互,例如用 java 写一个 ... 
- ASP.NET Core gRPC 入门全家桶
		一. 说明 本全家桶现在只包含了入门级别的资料,实战资料更新中. 二.官方文档 gRPC in Asp.Net Core :官方文档 gRPC 官网:点我跳转 三.入门全家桶 正片: ASP.NET ... 
- 跟我一起学Go系列:gRPC 入门必备
		RPC 的定义这里就不再说,看文章的同学都是成熟的开发.gRPC 是 Google 开源的高性能跨语言的 RPC 方案,该框架的作者 Louis Ryan 阐述了设计这款框架的动机,有兴趣的同学可以看 ... 
- gRPC入门—golang实现
		1.RPC 1.1 什么是RPC RPC(Remote Procedure Call),即远程过程调用,过程就是方法,简单来说,它就是一种能够像调用本地方法一样调用远程计算机进程中的方法的技术,在这种 ... 
- grpc 入门(一)--hello world
		一,从rpc接口的定义说起,下面给一个最简单的grpc示例--hello world 在这个rpc横行的世界里,实现一个rpc很重要的一件事就是定义一个好接口,一个好的接口定义会让你省去很多麻烦.熟悉 ... 
- grpc 入门(二)-- 服务接口类型
		本节是继上一章节Hello world的进一步深入挖掘; 一.grpc服务接口类型 在godoc的网站上对grpc的端口类型进行了简单的介绍,总共有下面4种类型[1]: gRPC lets you d ... 
- window下golang使用gRPC入门案例&net core客户端
		gRPC是google开源高性能分布式RPC框架,支持http/2 双向数据流传输及Protobuff,可以在任何环境下运行. 它可以有效地将数据中心内和跨数据中心的服务与可插拔支持进行负载均衡,跟踪 ... 
随机推荐
- 【题解】The Great Divide [Uva10256]
			[题解]The Great Divide [Uva10256] 传送门:\(\text{The Great Divide [Uva10256]}\) [题目描述] 输入多组数据,每组数据给定 \(n\ ... 
- 双向数据绑定 v-model
			双向数据绑定 就是既可以从页面传到数据也可以从数据到页面 初始运行结果为: 在输入框 更改数据 相应的输入框上的也会相对改变 然后再试试利用控制台更改数据 可以看到数据也被改变了 而且输入框中的内容也 ... 
- day109:MoFang:好友列表显示&添加好友页面初始化&添加好友后端接口
			目录 1.好友列表 2.添加好友-前端 3.服务端提供添加好友的后端接口 1.好友列表 1.在用户中心页面添加好友列表点击入口 html/user.html,用户中心添加好友列表点击入口,代码: &l ... 
- git单人本地操作
			git配置个人信息 git config --global user.name "用户名" git config --global user.email "邮箱" ... 
- html 03-初识HTML
			03-初识HTML #本文主要内容 头标签 排版标签:<p>. <div>. <span>.<br> . <hr> . <center ... 
- 移动端 better-scroll基础
			一.什么是better-scroll better-scroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件 #滚动原理 1. 与浏览器滚动原理一致,父容器高度固定,子元素内容撑开,必 ... 
- Java及Javascript中的浮点运算
			在进行金额计算,及某些精确计算时,会出现意想不到的很多小数的情况. 对Java 采用BigDecimal,如下代码示例 package number; import java.math.BigDeci ... 
- 个人微信公众号搭建Python实现 -个人公众号搭建-永久素材管理(14.3.5)
			@ 目录 1.说明 2.上传素材 3.获取素材列表 关于作者 1.说明 个人微信公众号开发的功能有限,因为很多权限没有,但支持上传永久素材,具体查看微信公众号文档 这里的请求都要将本地IP地址放到微信 ... 
- 最全Python正则表达式来袭
			前言 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"))操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成 ... 
- java基础模拟考试三套试卷
			卷1: 一.单选题(15道,共30分) //1.下列关于JDK.JRE.JVM关系描述正确的是 (A) A:JDK是开发工具,包含了JRE.JRE是运行环境,包含了JVM.JVM是虚拟机,可以保证跨平 ... 
