分布式高并发中,如何发挥gRPC的威力?来看看它的底层实现原理!

Posted Dotnet9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式高并发中,如何发挥gRPC的威力?来看看它的底层实现原理!相关的知识,希望对你有一定的参考价值。


gRPC是什么




gRPC是什么可以用官网的一句话来概括:

A high-performance, open-source universal RPC framework


所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。如下图所示就是一个典型的RPC结构图。






gRPC的优点




gRPC和restful API都提供了一套通信机制,用于server/client模型通信,而且它们都使用http作为底层的传输协议(严格地说, gRPC使用的http2.0,而restful api则不一定)。不过gRPC还是有些特有的优势,如下:


  • gRPC可以通过protobuf来定义接口,从而可以有更加严格的接口约束条件。

  • 另外,通过protobuf可以将数据序列化为二进制编码,这会大幅减少需要传输的数据量,从而大幅提高性能。

  • gRPC可以方便地支持流式通信(理论上通过http2.0就可以使用streaming模式, 但是通常web服务的restful api似乎很少这么用,通常的流式数据应用如视频流,一般都会使用专门的协议如HLS,RTMP等,这些就不是我们通常web服务了,而是有专门的服务器应用。)


分布式高并发中,如何发挥gRPC的威力?来看看它的底层实现原理!



gRPC+K8S




gRPC目前是k8s生态里的事实标准,而Kubernetes又是容器编排的事实标准。gRPC已经广泛应用于Istio体系,包括:


  • Envoy与Pilot(现在叫istiod)间的XDS协议

  • mixer的handler扩展协议

  • MCP(控制面的配置分发协议)


在Cloud Native的潮流下,开放互通的需求必然会产生基于HTTP/2的RPC。即使没有gRPC,也会有其它基于HTTP/2的RPC。一方面,通过gRPC接入扩展兼具了sdk与RESTful的优势: 支持跨语言调用的同时支持友好安全的接入方式。另一方面,gRPC的stream特性虽然好多答主说用不上,但在服务治理的场景下是非常合适的。轻舟微服务框架就使用了gRPC stream实现心跳检查、配置下发,ServiceMesh服务发现、路由规则的下发用的也是gRPC协议。在这些场景下,gRPC stream成为了很常用的一种手段。


分布式高并发中,如何发挥gRPC的威力?来看看它的底层实现原理!




gPRC四天集训




分布式高并发中,如何发挥gRPC的威力?来看看它的底层实现原理!

分布式高并发中,如何发挥gRPC的威力?来看看它的底层实现原理!

目前越来越多的开发岗位,特别是高薪岗位,已将熟悉gRPC作为任职要求中的重要指标,然而,gRPC的学习资料,特别是视频学习资料少之又少。这里,推荐大家一门gRPC集训课,课程由架构师Tony老师耗时10天匠心打造,四天的时间里,Tony老师将从gRPC的使用、原理、优化、实战逐一为大家讲解,让大家真正对gRPC有全面的认识,课程为期四天,4月6日~9日晚上八点至九点半直播教学,本号粉丝,一律免费学习


分布式高并发中,如何发挥gRPC的威力?来看看它的底层实现原理!

微信扫码加入集训群 



周一:gRPC-入门



   1.1 grpc 介绍 

   1.2 grpc 微服务和Grpc如何演化

   1.3 grpc 跨平台应用(跨语言演示)



周二:gRPC-流式处理



   1.1 什么是流式处理 

   1.2 流式处理api介绍

   1.3 流式处理应用场景

   1.4 流式处理实现原理



周三:grpc-安全



   1.1 什么是grpc安全

   1.2 grpc身份验证和授权

   1.3 grpc日志记录和诊断



周四:grpc-集群与部署



   1.1 什么是grpc集群

   1.2 grpc如何实现集群负载均衡

   1.3 grpc如何部署



附赠额外福利一





福利1:送价值399元.NET Core视频合集
福利2:送价值299元微服务视频合集
福利3:送价值499元数据结构算法视频合集
福利4:赠送价值199元Redis视频合集

扫码获取以上福利

仅限前199名



微信扫码加入集训群 



附赠额外福利二




集训完毕后,学习群里抽奖活动

中奖者获书一本


以上是关于分布式高并发中,如何发挥gRPC的威力?来看看它的底层实现原理!的主要内容,如果未能解决你的问题,请参考以下文章

GO实现高可用高并发分布式系统:gRPC实现客户端与服务端的一对一通讯

比较流行的前后端分离,咱们来看看它的优缺点!

闲话高并发

基于Kafka的订阅推送

Zookeeper概述

gRPC与区块链