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