前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.NET Core爱gRPC

.NET Core爱gRPC

作者头像
CNCF
发布2019-12-04 11:25:34
9700
发布2019-12-04 11:25:34
举报
文章被收录于专栏:CNCF

这是微软.NET团队的项目经理Sourabh Shirhatti的一篇客座文章。

自2018年11月以来,微软的.NET团队一直与gRPC团队密切合作,为.NET Core开发新的完全托管的gRPC实现。

我们很高兴地宣布,grpc-dotnet现在已经可以在.NET Core 3.0使用了!

如何获得?

grpc-dotnet包刚刚发布到NuGet.org,已经可以在你的项目中使用。这些包还需要最新的.NET Core 3.0共享框架。你可以为开发机和构建服务器下载.NET Core 3.0 SDK,从.NET Core 3.0 download page下载页面来获取共享框架。

https://www.nuget.org/profiles/grpc-packages

https://aka.ms/netcore3download

开始

由于gRPC现在是.NET生态系统中的一等公民,所以.NET SDK中包含了gRPC模板。要开始,请在安装SDK后,到控制台窗口并运行以下命令。

代码语言:javascript
复制
dotnet new grpc -o GrpcGreeter
cd GrpcGreeter
dotnet run

要创建一个gRPC客户端并使用新创建的gRPC Greeter服务进行测试,你可以按照本教程的其余部分进行操作。

https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/grpc/grpc-start

gRPC不是已经和.NET Core兼容了吗?

目前有两个官方gRPC给.NET的实现:

  • Grpc.Core:基于原生gRPC Core库的gRPC C#实现。 https://github.com/grpc/grpc/tree/master/src/csharp
  • grpc-dotnet:完全用C#编写的新实现,没有原生依赖,基于最新发布的.NET Core 3.0。 https://github.com/grpc/grpc-dotnet

这些实现并存,并且在可用特性、集成、支持平台、成熟度级别和性能方面各有优势。这两个实现共享调用和处理rpc的相同API,从而限制了锁定,并允许用户选择最能满足他们需求的实现。

有什么新鲜事吗?

与现有的基于C-Core的实现(Grpc.Core)不同,新的库(grpc-dotnet)利用了.NET Core Base Class Libraries(BCL)中现有的网络功能。下图突出显示了现有Grpc.Core和新的grpc-dotnet库之间的差异。

在服务器端,Grpc.AspNetCore.Server程序包集成到ASP.NET Core中,使开发者可以受益于日志、配置、依赖项注入、身份验证、授权等常见的跨领域问题,这些问题已由ASP.NET Core解决。现在,ASP.NET生态系统中的流行库,例如,Entity Framework Core(ORM)、Serilog(日志记录库)和Identity Server等,可与gRPC无缝协作。

在客户端,Grpc.Net.Client程序包基于作为.NET Core一部分提供的熟悉的HttpClient API构建。与服务器一样,gRPC客户端从基于HttpClient的软件包生态系统中受益匪浅。现在可以在gRPC客户端中使用现有的程序包,例如Polly(恢复力和故障处理库)和HttpClientFactory(管理HTTPClient生存期)。

下图捕获了gRPC的所有新.NET软件包的详尽列表,以及它们与现有软件包的关系。

除了作为grpc-dotnet的一部分新发布的包之外,我们还对两个栈都进行了改进。Visual Studio 2019提供了对protobuf文件的语言语法支持,并在保存protobuf文件时自动生成gRPC服务器/客户端代码,而无需根据设计时构建进行全面的项目重构。

反馈

我们对于为.NET开发者改进gRPC体验感到非常兴奋。请尝试一下,让我们在grpc-dotnet问题跟踪器上了解你可能遇到的任何特性想法或bug。

https://github.com/grpc/grpc-dotnet/issues

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档