1. 程式人生 > >Thrift與gRPC的區別

Thrift與gRPC的區別

1:thirf編譯器是thrift.exe,gRPC的編譯器是基於protoc的gradle或者maven外掛
2:thrift的訊息關鍵字是struct,gRPC的訊息關鍵字是message
3: thrift對service的方法不需要加關鍵字,但是需要給出引數名  grpc需要加rpc的關鍵字,而不需要加引數名(但是需要引數型別,外加大括號),而且需要用returns標記返回型別,再加上大括號;而thrift則跟寫普通java類差不多,只需要標記引數位置
4:thrift對生成的service的實現使用的是實現其iface介面,而grpc則是通過繼承一個叫做服務名加上ImplBase的基類。
5:thrift啟動服務後立馬進入等待客戶端連線的狀態,而grpc在呼叫start方法啟動之後還必須呼叫awaitTermination
方法才能接收客戶端連線
6:thrift構建一個訊息可以直接使用new關鍵字,而grpc跟protobuf一樣需要藉助它的builder物件才行
5:thrift引數支援原始型別,但是grpc不支援原始型別,只能傳遞在.proto中定義的message