1. 簡介
大型企業存在各種Client/Server互動業務,大部分都是基于RPC遠程程序呼叫協議,全稱:Remote Procedure Call Protocol,傳輸協議基于TCP、UDP、Http等,小部分采用WCF或者Web Service,
2. 互動方式
2.1 WEB Service
WEB服務使用SOAP協議,傳輸采用xml傳遞資料,支持跨語言,是比較常見應用場景,但是缺點也很明顯:
1. WebService使用了XML對資料封裝,會造成大量的資料要在網路中傳輸,
2. WebService規范沒有規定任何與實作相關的細節,包括物件模型、編程語言,
無法應對高并發、高效率需求場景,
2.2 WCF
Windows Communication Foundation(WCF)是由微軟開發的一系列支持資料通信的應用程式框架,可以翻譯為Windows 通訊開發平臺,
整合了原有的windows通訊的 .net Remoting,WebService,Socket的機制,并融合有HTTP和FTP的相關技術,支持遠程呼叫物件,其實也是.net平臺的RPC實作方式, 除了webService方式外不支持跨語言跨平臺的,在將來云端部署服務時,客戶端的語言限制比較大,并且兼容集成多種互動,比較重,大并發可能性能不夠理想,
2.3 Thrift
thrift最初由facebook開發用做系統內各語言之間的RPC通信 ,
目前流行的服務呼叫方式有很多種,例如基于 SOAP 訊息格式的 Web Service,基于 JSON 訊息格式的 RESTful 服務等,其中所用到的資料傳輸方式包括 XML,JSON 等,然而 XML 相對體積太大,傳輸效率低,JSON 體積較小,新穎,但還不夠完善,由 Facebook 開發的遠程服務呼叫開源框架Apache Thrift,它采用介面描述語言定義并創建服務,支持可擴展的跨語言服務開發,所包含的代碼生成引擎可以在多種語言中,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk 等創建高效的、無縫的服務,其傳輸資料采用二進制格式并壓縮,相對 XML 和 JSON 體積更小,對于高并發、大資料量和多語言的環境更有優勢,

1.1 總結
- WEB SERVICE 跨語言跨平臺,但是效率比較低,對高并發支持不夠;
- WCF 集成.NET互動平臺,是RPC的Windows\.NET實作,跨語言支持不夠,體積龐大,高并發、高效率限于Remoting等.Net下遠程物件呼叫;
- Thrift是跨平臺多語言的RPC實作,支持壓縮二進制傳輸,TCP\UDP\HTTP等協議,適用大型系統部署,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/285337.html
標籤:C#
