如何高效应对突发的流量洪峰?gRPC能派上大用场!

Posted dotNET跨平台

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能派上大用场!的主要内容,如果未能解决你的问题,请参考以下文章

如何把thinkphp5的项目迁移到阿里云函数计算来应对流量洪峰?

消息队列RocketMQ应对双十一流量洪峰的“六大武器”

如何把 thinkphp5 的项目迁移到阿里云函数计算来应对流量洪峰?

基于flink的协同过滤

双11特刊 | 云数据库RDS如何顺滑应对流量洪峰

11.22-11.28博客精彩回顾