要談編解碼技術,首先從Java序列化進行談起。因爲Java序列化沒法跨語言,不多用來進行消息的編解碼和傳輸。並且序列化以後的碼流太大,序列化性能過低,因此,有很大主流的編解碼框架應運而生。主要介紹主流的三大編解碼器。Google的Protobuf、FaceBook的Thrift以及JBoss的Marshalling。java
實際上protobuf支持的基本數據類型,thrift基本上也都支持,可是thrift額外支持瞭如下的容器類型 list(java.util.ArrayList)、set(java.util.HashSet)、map(java.util.HashMap),這點是protobuf不具有的。所以相對來講thrift支持了更豐富的數據結構,更易擴展。緩存