【半译】两个gRPC的C#库:grpc-dotnet vs Grpc.Core

grpc-dotnet 是在2019年随着 .NET Core 3.0 一起发布的一个gPRC官方库。在ASP.NET Core gRPC项目模板里面就使用了这个库。

 

.NET Core 3.0之前难道不可以使用gRPC吗?

目前,gRPC 在.NET上有两种官方实现:

  • Grpc.Core:这个是原来的gRPC C#库,它基于原生gPRC(C-Core)核心库实现。

  • grpc-dotnet:这是新的库,完全使用C#编写实现,没有原生依赖,基于.NET Core 3.0。 

grpc-dotnet并没有替代Grpc.Core,它们并行共存,它们在功能、集成力、支持的平台、成熟度和性能方面各有优势。而且这两种实现使用了相同的API来调用和处理RPC,从而可以避免单库锁定,并允许用户选择满足其需求的最佳实现。

 

grpc-dotnet

与原来基于C-Core实现的Grpc.Core不同,grpc-dotnet使用了.NET Core BCL核心库里面现有的网络原始类型,请看比较图:

在服务器端Grpc.ASPNETCore.Server库集成到了ASP.NET Core中,使开发人员能够从ASP.NET Core现有的日志、配置、依赖注入、身份验证、授权等常见横切关注点的生态系统中获益。ASP.NET生态系统中的流行库,如Entity Framework CoreORM)、Serilog(日志库)和Identity Server等,均可以与gRPC无缝协作。

 

在客户端Grpc.Net.Client库基于大家熟悉的HttpClient API构建,该API.Net Core的一部分。与服务器端一样,gRPC客户端可以从构建在HttpClient上的软件生态系统中受益,例如Polly(弹性和故障处理库)和HttpClientFactory(管理HTTPClient生命周期)等库就可以在gRPC客户端上使用。

 

grpc-dotnet Grpc.Core关系图:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值