美文网首页
gRPC基础

gRPC基础

作者: 黄宝玲_1003 | 来源:发表于2019-02-01 19:37 被阅读42次

什么是grpc

grpc创建一个服务接口,指定调用远程方法所需的参数和返回类型。

  • 服务端:实现服务的接口,启动一个服务器来处理客户端的调用。
  • 客户端:桩代码,提供与服务端相同的方法。

客户端与服务端可在不同环境下相互调用。

grpc默认采用protocol buffers(协议缓冲),这是用于数据结构序列化的框架。

使用

编写.proto文件,定义想要序列化的结构数据。

protocol buffers的数据是一个结构化的消息,每个消息都是一小的逻辑信息的记录,消息中包含了一系列的键值对,称之为属性,例如:

message Person {
   string name = 1;
   int32 age = 2;
   bool has_ponycopter = 3;       
}

然后用编译命令protoc来生成某个语言对应的类。

类中提供了简单的方法来操作每个属性(例如name()和set_name()), 另外这些方法内部可以将数据序列化为元数据传输给对方,也可以将对方发送过来的元数据进行解析。拿一个具体的例子来说,如果你使用的是c++,编译如上的例子后会生成一个叫做Person的类,你可以使用这个类来构建,序列化,并且得到 Person对应的protocol buffers消息。

更详细的例子,在proto文件中定义grpc服务,rpc的方法的参数和返回类型需要声明为一个protocols buffers消息。

// The greeter service definition.  
service Greeter {   
   //Sends a greeting
   rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
   string name = 1;
}

//The response message containing the greetings
message HelloReply {
   string message = 1;
}

相关文章

  • gRPC

    基础:GRPC的产生动机和设计原则grpc| python 实战 grpcPython版gRPC入门实验 - 知乎...

  • gRPC基础

    什么是grpc grpc创建一个服务接口,指定调用远程方法所需的参数和返回类型。 服务端:实现服务的接口,启动一个...

  • go gRPC基础

    sasuke.cn gRPC文档学习笔记 gRPC Basics - Go 学习目标: 定义服务 编译生成serv...

  • grpc-源码-网络模型

    golang 的grpc库是 https://github.com/grpc/grpc-go grpc serve...

  • gRPC 4种rpc定义方法与3种stub介绍

    gRPC 有关gRPC官方介绍(https://www.grpc.io/docs/what-is-grpc/int...

  • gRPC安装与编译

    1.安装gRPC grpc与protobuf版本对照表:https://github.com/grpc/grpc/...

  • grpc 2022-11-28

    grpc[https://grpc.io/docs/what-is-grpc/introduction/] In ...

  • GRPC基础知识

    简介 GRPC是google开源的一个高性能、跨语言的RPC框架,基于HTTP2协议,基于protobuf 3.x...

  • gRPC开发基础示例

    1. 引入依赖 1.1 引入包 1.2. 引入插件 2. 定义proto文件 2.1 安装插件 2.2 创建pro...

  • gRPC简介

    本文翻译自gRPC简介[https://grpc.io/docs/what-is-grpc/introductio...

网友评论

      本文标题:gRPC基础

      本文链接:https://www.haomeiwen.com/subject/ymndsqtx.html