Restful 基於 Http 進行通信。html
RPC通信git
最佳實踐:對內一些性能要求高的場合用 RPC,對內其餘場合以及對外用 Rest。好比 web 服務器和視頻轉碼服務器之間通信能夠用 restful 就夠了,轉帳接口用 RPC 性能會更高 一些。github
以上參考:老楊的課件。web
Thrift是一個跨語言通訊的服務框架,不一樣語言開發的程序能夠經過Thrift來進行通訊。apache
下載:http://www.apache.org/dyn/closer.cgi?path=/thrift/0.11.0/thrift-0.11.0.exe服務器
把 thrift-***.exe 解壓到磁盤,更名爲 thrift.exe(用起來方便一些)restful
編寫 **.thrift 文件(IDL)框架
根據IDL,自動生成對應的語言代碼:性能
thrift -gen csharp f:\netcore\Thrifts\school.thriftrest
https://github.com/tianbogit/ThriftDemo
//關聯處理器與服務的實現 TProcessor helloProcessor = new HelloService.Processor(new MyHelloService()); TProcessor schoolProcessor = new SchoolService.Processor(new MySchoolService()); //建立服務端對象 var processorMulti = new TMultiplexedProcessor(); processorMulti.RegisterProcessor("helloService", helloProcessor); processorMulti.RegisterProcessor("schoolService", schoolProcessor); TServer server = new TThreadPoolServer(processorMulti, serverTransport, new TTransportFactory(), factory);
Thrift總結:https://www.cnblogs.com/zhangweizhong/category/1006119.html
實現Thrift鏈接池:http://www.cnblogs.com/walkerwang/archive/2012/10/08/2715735.html
[1]「Thirft框架介紹」
[2]「Thrift使用指南」
[3]「使用Thrift RPC編寫程序」
[4]「讓Thrift支持雙向通訊」
[5]「淺談Thrift內部實現原理「