grpc入门

102 阅读2分钟

微服务架构:微服务架构将软件应用程序构建为一组独立、自治(独立开发、部署和扩展)、松耦合、面向业务能力的服务。

gRpc的定义

服务定义

gRpc是一项进程间通信技术,可以用来链接、调用、操作和调试分布式异构应用程序。就像调用本地函数一样,这个过程操作起来很简单。

在开发gRpc应用程序时,先要定义服务接口,其中包含如下信息:消费者消费服务的方式、消费者能够远程调用的方法以及调用这些方法所使用的参数和消息格式等。在服务定义中所使用的的语言叫做接口定义语言(IDL)。

微服务架构:微服务架构将软件应用程序构建为一组独立、自治(独立开发、部署和扩展)、松耦合、面向业务能力的服务。

gRpc的定义

服务定义

gRpc是一项进程间通信技术,可以用来链接、调用、操作和调试分布式异构应用程序。就像调用本地函数一样,这个过程操作起来很简单。

在开发gRpc应用程序时,先要定义服务接口,其中包含如下信息:消费者消费服务的方式、消费者能够远程调用的方法以及调用这些方法所使用的参数和消息格式等。在服务定义中所使用的的语言叫做接口定义语言(IDL)。

// 指定使用协议语法,声明所使用的的版本
syntax = "proto3";

// 定义一个包
package greeterpb;

// 关键字 server 来定一个服务
// gRPC 的服务是通过参数和返回类型来指定可以远程调用的方法
service Greeter {
    rpc SayHello(HelloRequest) returns (HelloReply) {}
    rpc SayHelloAgain(HelloRequest) returns (HelloReply) {}
}

// 定义消息请求
// 关键字 message 来定义请求或相应需要使用的消息格式
message HelloRequest {
    string name = 1;
}

// 定义消息响应
// 关键字 message 来定义请求或相应需要使用的消息格式
message HelloReply {
    string message = 1;
}

// 指定使用协议语法,声明所使用的的版本
syntax = "proto3";
 
// 定义一个包
package greeterpb;
 
// 关键字 server 来定一个服务
// gRPC 的服务是通过参数和返回类型来指定可以远程调用的方法
service Greeter {
    rpc SayHello(HelloRequest) returns (HelloReply) {}
    rpc SayHelloAgain(HelloRequest) returns (HelloReply) {}
}
 
// 定义消息请求
// 关键字 message 来定义请求或相应需要使用的消息格式
message HelloRequest {
    string name = 1;
}
 
// 定义消息响应
// 关键字 message 来定义请求或相应需要使用的消息格式
message HelloReply {
    string message = 1;
}

 
gRpc服务器端

进程间通信技术的演化

现实世界的gRpc

gRpc服务器端

进程间通信技术的演化

现实世界的gRpc