編解碼技術

要談編解碼技術,首先從Java序列化進行談起。因爲Java序列化沒法跨語言,不多用來進行消息的編解碼和傳輸。並且序列化以後的碼流太大,序列化性能過低,因此,有很大主流的編解碼框架應運而生。主要介紹主流的三大編解碼器。Google的Protobuf、FaceBook的Thrift以及JBoss的Marshalling。java

Google Protocol Buffers

  • 結構化數據存儲格式(XML,JSON)
  • 高效編解碼性能
  • 語言無關、平臺無關、擴展性好
  • 官方支持Java、C++和Python三種語言。

Thrift

  • 通用的二進制編解碼
  • 壓縮的二進制編解碼
  • 優化的可選字段壓縮編解碼

JBoss Marshalling

  • 可插拔的類解析器
  • 可插拔的對象替換技術,不須要經過繼承的方式。
  • 可插拔的預約義類緩存表。

實際上protobuf支持的基本數據類型,thrift基本上也都支持,可是thrift額外支持瞭如下的容器類型 list(java.util.ArrayList)、set(java.util.HashSet)、map(java.util.HashMap),這點是protobuf不具有的。所以相對來講thrift支持了更豐富的數據結構,更易擴展。緩存

相關文章
相關標籤/搜索