gRPC框架学习:1、gRPC框架简介

gRPC框架学习:1、gRPC框架简介


1. 前言

之前我们学了很多的基于Go语言的包,从这里开始我们会接触并总结一些框架,目前我们项目中接触并用到的一个框架是gRPC框架,简单理解可以当成gRPC是对rpc的一种扩展,存在多种语言版本,使得rpc服务和客户端可以跨多种语言进行交互。

2. gRPC简介

grpc官网:

https://grpc.io/

gRPC (gRPC Remote Procedure Calls) 是Google发起的一个开源远程过程调用 (Remote procedure call) 系统。该系统基于 HTTP/2 协议传输,使用Protocol Buffers 作为接口描述语言。

gRPC是可以在任何环境中运行的现代开源高性能远程过程调用(RPC)框架。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。它也适用于分布式计算的最后一英里,以将设备,移动应用程序和浏览器连接到后端服务。

其他功能:

  • 认证( authentication)
  • 双向流(bidirectional streaming)
  • 流控制(flow control)
  • 超时(timeouts)

最常见的应用场景是:

  • 微服务框架下,多种语言服务之间的高效交互。
  • 将手机服务、浏览器连接至后台
  • 产生高效的客户端库

在这里插入图片描述

默认情况下,gRPC使用协议缓冲区(Protocol Buffers),这是谷歌成熟的用于序列化结构化数据的开源机制(尽管它可以用于其他数据格式,如JSON)。这里简单介绍一下它是如何工作的。

3. Protocol Buffers简介

Protocol Buffers(简称:ProtoBuf)是一种序列化数据结构的协议。对于透过管道(pipeline)或存储资料进行通信的程序开发上是很有用的。这个方法包含一个接口描述语言,描述一些数据结构,并提供程序工具根据这些描述产生代码,用于将这些数据结构产生或解析资料流。

语言支持
proto2提供一个程序产生器,支持C++、Java和Python。

第三方实现支持JavaScript。

proto3提供一个程序产生器,支持C++、Java (包含JavaNano)、Python、Go、Ruby、Objective-C和C#.从 3.0.0 Beta 2 版开始支持JavaScript。

第三方实现支持Perl、PHP、Dart、Scala和Julia.

https://developers.google.com/protocol-buffers/docs/overview

4. 最后

接下来我们先熟悉proto相关内容,然后对gRPC如何结合proto进行使用做总结。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昵称系统有问题

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值