前些天gRPC 發(fā)布1.0 版本,代表著gRPC 已經(jīng)正式進入穩(wěn)定階段。
今天我們就來學(xué)習(xí)gRPC C# 。而且目前也已經(jīng)支持.NET Core 可以實現(xiàn)完美跨平臺。
傳統(tǒng)的.NET 可以通過Mono 來實現(xiàn)跨平臺調(diào)用。
GitHub: https://github.com/grpc/grpc
gRPC 簡單介紹:
gRPC是一個高性能、通用的開源RPC框架,其由Google主要面向移動應(yīng)用開發(fā)并基于HTTP/2協(xié)議標(biāo)準(zhǔn)而設(shè)計,基于ProtoBuf(Protocol Buffers)序列化協(xié)議開發(fā),且支持眾多開發(fā)語言。gRPC提供了一種簡單的方法來精確地定義服務(wù)和為iOS、Android和后臺支持服務(wù)自動生成可靠性很強的客戶端功能庫。客戶端充分利用高級流和鏈接功能,從而有助于節(jié)省帶寬、降低的TCP鏈接次數(shù)、節(jié)省CPU使用、和電池壽命。
gRPC支持多種語言,并能夠基于語言自動生成客戶端和服務(wù)端功能庫。目前,在GitHub上已提供了C版本grpc、Java版本grpc-java 和 Go版本grpc-go,其它語言的版本正在積極開發(fā)中,其中 grpc支持C、C++、Node.js、Python、Ruby、Objective-C、PHP和C#等語言,grpc-java已經(jīng)支持Android開發(fā)。
gRPC已經(jīng)應(yīng)用在Google的云服務(wù)和對外提供的API中,其主要應(yīng)用場景如下:
低延遲、高擴展性、分布式的系統(tǒng)
同云服務(wù)器進行通信的移動應(yīng)用客戶端
設(shè)計語言獨立、高效、精確的新協(xié)議
便于各方面擴展的分層設(shè)計,如認證、負載均衡、日志記錄、監(jiān)控等參考文檔:
http://www.infoq.com/cn/news/2015/03/grpc-google-http2-protobuf
本篇文章主要講解傳統(tǒng).NET 應(yīng)用如何支持gRPC。
下面就正式開始。