searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Grpc使用介绍

2023-09-05 15:18:12
12
0

一、grpc是什么

gRPC 一开始由 Google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。基于http/2,采用protocol buf传递信息

 

二、grpc的优势

  • Simple service definition (定义服务简单)

        Define your service using Protocol Buffers, a powerful binary serialization toolset and language

  • Works across languages and platforms (可以用在各种语言和平台上)

        Automatically generate idiomatic client and server stubs for your service in a variety of languages and platforms

  • Start quickly and scale (快速上手和可扩展)

        Install runtime and dev environments with a single line and also scale to millions of RPCs per second with the framework

  • Bi-directional streaming and integrated auth (双向流和集成身份验证)

         Bi-directional streaming and fully integrated pluggable authentication with http/2 based transport

三、grpc支持的语言

  • C++
  • C#
  • Go
  • java
  • Android Java
  • Nodejs
  • Objective-C
  • PHP
  • Python
  • Ruby

四、grpc处理过程

gRPC 一开始由 Google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。

五、grpc开发流程

  • Defining the service (定义服务)
  • Generating client and server code (生成客户端和服务端代码)
  • Creating the server
  • Creating the client

六、Protocol-buf

  1)  什么是protocol

  • Protocol Buffers 是google提供的一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

  2)protocol-buffer 数据类型

   

七、Grpc API类型

    gRPC 中的 Service API 有如下4种类型:

  • UnaryAPI:普通一元方法
  • ServerStreaming:服务端推送流
  • ClientStreaming:客户端推送流
  • BidirectionalStreaming:双向推送流

    1) UnaryAPI

     unaryAPI为比较简单的API类型,调用时,传递一次参数,参数返回一次

     

   unaryAPI Server端

   

    unaryAPI Client端

   

    2) ServerStream

    ServerStream Server端

   

    ServerStream Client端

   

 3) BidirectionalStream

 

  Bidirectional Server端

   

  Bidirectional Client端

   

 

八、Grpc 安装

  • Protocol buffer安装

九、Protocol buffer 编译

这里以编译为go语言为例

protoc --go_out=. --go-grpc_out=. example.proto

编译后,输出一个go packae ,包括两个go文件,以上述的agent.proto文件为例,编译后生成一下两个文件

 

0条评论
作者已关闭评论
h****n
2文章数
0粉丝数
h****n
2 文章 | 0 粉丝
h****n
2文章数
0粉丝数
h****n
2 文章 | 0 粉丝
原创

Grpc使用介绍

2023-09-05 15:18:12
12
0

一、grpc是什么

gRPC 一开始由 Google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。基于http/2,采用protocol buf传递信息

 

二、grpc的优势

  • Simple service definition (定义服务简单)

        Define your service using Protocol Buffers, a powerful binary serialization toolset and language

  • Works across languages and platforms (可以用在各种语言和平台上)

        Automatically generate idiomatic client and server stubs for your service in a variety of languages and platforms

  • Start quickly and scale (快速上手和可扩展)

        Install runtime and dev environments with a single line and also scale to millions of RPCs per second with the framework

  • Bi-directional streaming and integrated auth (双向流和集成身份验证)

         Bi-directional streaming and fully integrated pluggable authentication with http/2 based transport

三、grpc支持的语言

  • C++
  • C#
  • Go
  • java
  • Android Java
  • Nodejs
  • Objective-C
  • PHP
  • Python
  • Ruby

四、grpc处理过程

gRPC 一开始由 Google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。

五、grpc开发流程

  • Defining the service (定义服务)
  • Generating client and server code (生成客户端和服务端代码)
  • Creating the server
  • Creating the client

六、Protocol-buf

  1)  什么是protocol

  • Protocol Buffers 是google提供的一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

  2)protocol-buffer 数据类型

   

七、Grpc API类型

    gRPC 中的 Service API 有如下4种类型:

  • UnaryAPI:普通一元方法
  • ServerStreaming:服务端推送流
  • ClientStreaming:客户端推送流
  • BidirectionalStreaming:双向推送流

    1) UnaryAPI

     unaryAPI为比较简单的API类型,调用时,传递一次参数,参数返回一次

     

   unaryAPI Server端

   

    unaryAPI Client端

   

    2) ServerStream

    ServerStream Server端

   

    ServerStream Client端

   

 3) BidirectionalStream

 

  Bidirectional Server端

   

  Bidirectional Client端

   

 

八、Grpc 安装

  • Protocol buffer安装

九、Protocol buffer 编译

这里以编译为go语言为例

protoc --go_out=. --go-grpc_out=. example.proto

编译后,输出一个go packae ,包括两个go文件,以上述的agent.proto文件为例,编译后生成一下两个文件

 

文章来自个人专栏
sd-wan
2 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0