.NET Core Love gRPC
這篇內容主要來自Microsoft .NET團隊程序經理Sourabh Shirhatti的博客文章:https://grpc.io/blog/grpc-on-dotnetcore/, .NET Core 3.0現已提供grpc的.NET 托管實現 grpc-dotnet, gRpc 取代WCF成為 .NET的一等公民。自2018年11月以來,Microsoft的.NET團隊一直與gRPC團隊密切合作,共同開發適用于.NET Core的gRPC的全新完全托管實現。
gRpc 有非常多的公司在使用,比如 Salesforce,Netflix,Spotify,Fanatics等公司(當然還有Google),特別是整個CNCF 主導下的云原生應用開發生態里gRpc 有著舉足輕重的地位。
.NET目前有兩種正式的gRPC實現:
Grpc.Core:基于本地gRpc Core庫的原生 gRpc C#實現,支持.NET Core 2.1/.NET Framework 4.5+/Mono 4+ 。
grpc-dotnet:完全以C#編寫的新實現,沒有任何本機依賴性,并且基于最新發布的.NET Core 3.0。
這兩種實現并排共存,并且在可用功能,集成,支持的平臺,成熟度和性能方面各有各的優勢。兩種實現共享用于調用和處理RPC的相同API,用戶能夠選擇最能滿足其需求的實現,而不會限制你必須使用某個平臺。
與現有的基于C-Core的實現(Grpc.Core)不同,新庫(grpc-dotnet)使用.NET Core基本類庫(BCL)中的現有網絡實現。下圖突出顯示了現有的Grpc.Core庫和新的grpc-dotnet庫之間的區別。
在服務器端,Grpc.AspNetCore.Server軟件包集成到ASP.NET Core中,使開發人員受益于ASP.NET Core已解決的日志,配置,依賴項注入,身份驗證,授權等常見的交叉問題。現在,ASP.NET生態系統中的流行庫(例如,實體框架核心(ORM),Serilog(日志記錄庫)和Identity Server等)與gRPC無縫協作。
在客戶端,該Grpc.Net.Client軟件包建立在HttpClient作為.NET Core一部分提供的熟悉的API的基礎上。與服務器一樣,gRPC客戶端也從基于的軟件包HttpClient的生態系統中 受益匪淺。 現在可以在gRPC客戶端中使用現有的程序包,例如Polly和HttpClientFactory(管理HTTPClient生命周期)。
下圖列出了gRPC的所有新.NET軟件包的詳盡列表,以及它們與現有軟件包的關系。
Visual Studio 2019 對protobuf文件的語言語法提供了支持,并在保存protobuf文件時自動生成gRPC服務器/客戶端代碼,而無需由于設計時構建而需要完全重新編譯項目。
gRpc 這么好用如何入門呢 ,微軟的文檔給我們準備了很詳細,具體參見:?https://docs.microsoft.com/zh-cn/aspnet/core/grpc/?view=aspnetcore-3.0?
前面我們提到了gRpc 取代WCF成為 .NET的一等公民,我們一定很懷念WCF那種利用代碼定義服務鍥約的方式,你一定會記得還有一個protobuf 開源實現protobuf-net:?https://github.com/protobuf-net?, 我以前在騰訊IT 使用WCF + Protobuf 構建微服務的系統,用的也是protobuf-net 這個庫,而不是用WCF自帶的二進制序列化,獲得了更高的負載處理能力。protobuf-net.Grpc?使用本機Grpc.CoreAPI或完全托管的Grpc.Net.Client/?Grpc.AspNetCore.ServerAPI 在gRPC上添加對服務的代碼優先支持。
.NET 團隊還準備了一個電子書《適用于 WCF 開發人員的 ASP.NET Core gRPC》?https://dotnet.microsoft.com/learn/aspnet/architecture#grpc-for-wcf-devs-ebook-swim?對應的代碼倉庫:https://github.com/dotnet-architecture/grpc-for-wcf-developers
我們從開始籌備2019 中國.NET 開發者峰會已經有好一段時間,從確定主題到尋找舉辦地,我們都是在業余時間進行,無論多么困難我們一定要辦成功這次完全由中國.NET社區自發組織的大會,我們希望通過這次大會匯聚中國.NET社區的能量,能夠讓大眾刷新對.NET的認知,也包括.NETer本身的刷新。
中國 .NET 開發者峰會
?2019年11月9日 09:00-18:00
?中國 上海
請輸入標題10月20日前購票可享受早鳥票100元優惠,只需199,限量300張,先到先得;超級早鳥票及社區特價票需要審核資料;購買團體票(大于10張)享受整單8折優惠,請通過郵箱聯系主辦方 dotnet@dotnetconf.cn
https://www.huodongxing.com/event/4514005355700
掃描二維碼,或點擊【閱讀原文】報名
相關文章:
原文鏈接:https://www.cnblogs.com/shanyou/p/11618376.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結
以上是生活随笔為你收集整理的.NET Core Love gRPC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员家的大闸蟹:青壳、白底、肉多、爆黄
- 下一篇: 使用FastReport报表工具生成报表