更不便的在微信公众号阅读文章能够关注公众号:海生的go花园

一、介绍

当初微服务,有次要的两种形式 rest api 以及 grpc。
相比rest api ,grpc有更快的速度,更小的体积,能够显著的替身性能。

1、什么是gRpc

grpc是一个”近程调用过程“RPC框架。rpc是从近程调用一个微服务的函数。
grpc是一种围绕protobuf协定,进行过程间通信的一种形式。通过protobuf来解决客户端和服务端的 音讯message。
如下图:通过protobuf,咱们生成客户端和服务端函数,以及message。
一切都是建设在protobuf协定上的。
所以应用grpc,咱们个别都是先定义proto文件,而后转成客户端以及服务端go代码。

这种架构,非常适合 ”客户端-服务器“ 应用程序。

2、如何用protobuf形容grpc

一个grpc服务应用 service,以及message两个关键字形容。

service HelloService {  rpc SayHello (HelloRequest) returns (HelloResponse);}message HelloRequest {  string greeting = 1;}message HelloResponse {  string reply = 1;}

在这里咱们先定义一个 HelloService,提供一个SayHello办法,供其余的服务调用。
申请的message为HelloRequest,供client申请参数应用。
返回message为HelloResponse,server返回给client。