REST、SOAP、protocolbuf、thrift、avro
生活随笔
收集整理的這篇文章主要介紹了
REST、SOAP、protocolbuf、thrift、avro
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
REST、SOAP、protocolbuf、thrift、avro
@(JAVA)[hbase, hadoop, storm]
為提供異構環境或者跨語言的通信,需要一個中間協議進行轉換,常用的有2大類:
一是傳統的明文協議,如REST/SOAP等,這類協議最常用的方式是通過XML/JSON方式進行數據交互,然后通過解釋這些文件得到實際所需的數據。其優點是內容可讀,缺點是需要在大量的冗余信息,如XML的頭,標簽等內容。這對于有大量交互的情況時,會浪費大量的帶寬。
第二種是protocolbuf、thrift、avro等二進制RPC層。最早是google實現的protocol buffer,但由于google并未將之開源,因此后來facebook寫了一套thrift。最后,hadoop項目的創建者Doug Cutting寫了一套avro。它們的功能都類似,細節肯定有不同之處。
舉個例子,用戶如何通過python來訪問hbase的基本原理:
protocol buffer與thrift/avro的最大不同在于后者有自己的RPC實現,因此可以啟動server,而protocol buffer只能依托于另一個server。
總結
以上是生活随笔為你收集整理的REST、SOAP、protocolbuf、thrift、avro的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HadoopHelper使用说明
- 下一篇: Kafka 副本OffsetOutOfR