Hello gRPC 按照惯例,这里从一个Hello项目开始,本项目定义了一个Hello Service,客户端发送包含字符串名字的请求,服务端返回Hello消息。 流程: 编写.proto描述文件 编译生成.pb.go文件 服务端实现约定的接口并提供服务 客户端按照约定调用方法请求服务 项目目录: $GOPATH/src/grpc-go-practice/ example/ |—— hello/ |—— client/ |—— main.go // 客户端 |—— server/ |—— ma...
-
Golang gRPC实践 连载二 Hello gRPC
-
protobuffer、gRPC、restful gRPC的相互转化
文档 grpc中文文档 grpc-gateway,restful和grpc转换库 protobuf 官网 protobuf Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。 优点 平台无关,语言无关,可扩展; 提供了友好的动态库,使用简单; 解析速度快,比对应的XML快约20-100倍; 序列化数据非常简洁、紧凑,与XML相比,其序列化之后的数据量约为1/3到1/10。 安装 参...
-
Golang中的RPC和gRPC
一、RPC编程 参考资料<<Go语言编程>> --许式伟 gRPC介绍与安装 gRPC官方文档 gRPC中文文档 protocol-buffers 介绍 RPC(Remote Procedure Call,远程过程调用)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络细节的应用程序通信协议。RPC协议构建于TCP或UDP,或者是HTTP上。允许开发者直接调用另一台服务器上的程序,而开发者无需另外的为这个调用过程编写网络通信相关代码,使得开发网络分布式程序在内的应用程序更加容易 RP...
-
使用grpc开发RPC服务(一)
前言 笔者最近换了一份工作从一家新零售公司去到一家做电子商务的公司,主要的编程语言也从NodeJs转为了Go,因为新公司使用的是grpc做的微服务,所以要重新开始学习新的东西了,正好把这周学习的东西做个总结。整个系列主要涉及Golang、gRPC、go-micros、Docker、Docker-compose、consul,通过本系列,你可以了解到如何1、使用grpc/go-mircos构建微服务,2、使用docker进行服务的部署,3、使用consul进行服务发现 grpc简介 gRPC是谷歌...
-
grpc-gateway:grpc转换为http协议对外提供服务
我所在公司的项目是采用基于Restful的微服务架构,随着微服务之间的沟通越来越频繁,就希望可以做成用rpc来做内部的通讯,对外依然用Restful。于是就想到了google的grpc。 使用grpc的优点很多,二进制的数据可以加快传输速度,基于http2的多路复用可以减少服务之间的连接次数,和函数一样的调用方式也有效的提升了开发效率。 不过使用grpc也会面临一个问题,我们的微服务对外一定是要提供Restful接口的,如果内部调用使用grpc,在某些情况下要同时提供一个功能的两套API接口,这...