我是靠谱客的博主 高贵大白,最近开发中收集的这篇文章主要介绍rest接口案例_.NET Core 3.1 的REST 和gRPC 性能测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

看到越南小哥 的github 上的Evaluating Performance of REST vs. gRPC , 使用的是.NET Core 3.0 , 今天我把它升级到.NET Core 3.1 同样做了一个测试,文章的结果和他的博客文章是一样的:https://dev.to/thangchung/performance-benchmark-grpc-vs-rest-in-net-core-3-preview-8-45ak。

在8年前我写过一篇文章:WCF和ASP.NET Web API在应用上的选择。现在是2020年了,WCF换成了gRPC, ASP.NET Web API换成了ASP.NET Core Web API, 对外提供标准化的REST服务,内部通信采用gRPC的也是新时代的.NET应用程序的一个好选择,类似于Kubernetes 架构将有效负载格式用于传输协议的方式。

aa6e377c55facbf0798ad119129a891b.png

我们来看下.NET Core 3.1下REST和gRPC的性能表现怎么样?从 https://github.com/geffzhang/RESTvsGRPC 下载代码。在测试机器上安装.NET Core 3.1。

  • REST API:

 cd RESTvsGRPCRestAPI
dotnet run -p RestAPI.csproj -c Release
  • gRPC API:

 cd RESTvsGRPCGrpcAPI
dotnet run -p GrpcAPI.csproj -c Release
  • 基准项目:

 cd RESTvsGRPCRESTvsGRPC
dotnet run -p RESTvsGRPC.csproj -c Release
等待完成测试后,我们将会得到类似下面的结果,具体的结果依赖于你的测试机器配置,我使用Win10 的Surface Book 2上面完成的下面的测试结果:
当接口返回的数据量比较小时候,REST 的性能要比gRPC要好,当数据量变大之后gRPC的性能优势就比较明显了。.NET Core 3的 json 进行了大量的优化, 在处理消息有效负载中的小数据时会产生巨大的差异,但是实际上,对于大数据有效负载,差异就不复存在了。总体来说 gRPC在这一领域仍然是赢家。我并不是说哪个比另一个更好。我要说的是,我们需要在您的业务案例中使用哪种协议的适当策略。我们通常在与外部世界的外部通信(例如外部服务集成,与前端的通信)中使用REST通信,内部服务之间通信采用gRPC。
参考文献:
  • https://medium.com/@EmperorRXF/evaluating-performance-of-rest-vs-grpc-1b8bdf0b22da

  • https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/servers/kestrel

  • https://gooroo.io/GoorooTHINK/Article/16623/One-Weird-Trick-To-Improve-Web-Performance/21564#.Vx9o5UdkldB

  • https://devblogs.microsoft.com/aspnet/asp-net-core-2-2-0-preview1-http-2-in-kestrel/

  • https://kubernetes.io/blog/2018/07/18/11-ways-not-to-get-hacked/

  • https://dev.to/thangchung/performance-benchmark-grpc-vs-rest-in-net-core-3-preview-8-45ak

  • https://www.cnblogs.com/shanyou/archive/2012/09/26/2704814.html

最后

以上就是高贵大白为你收集整理的rest接口案例_.NET Core 3.1 的REST 和gRPC 性能测试的全部内容,希望文章能够帮你解决rest接口案例_.NET Core 3.1 的REST 和gRPC 性能测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部