如何選擇序列化方式

常用的序列化方式分爲兩類:文本類如 XML/JSON 等,二進制類如 PB/Thrift 等,而具體採用哪種序列化方式,主要取決於三個方面的因素。

1、支持數據結構類型的豐富度。數據結構種類支持的越多越好,這樣的話對於使用者來說在編程時更加友好,有些序列化框架如 Hessian 2.0 還支持複雜的數據結構比如 Map、List 等。

2、 跨語言支持。序列化方式是否支持跨語言也是一個很重要的因素,否則使用的場景就比較侷限,比如 Java 序列化只支持 Java 語言,就不能用於跨語言的服務調用了。3、

  性能。主要看兩點,一個是序列化後的壓縮比,一個是序列化的速度。以常用的 PB 序列化和 JSON 序列化協議爲例來對比分析,PB 序列化的壓縮比和速度都要比 JSON 序列化高很多,所以對性能和存儲空間要求比較高的系統選用 PB 序列化更合適;而 JSON 序列化雖然性能要差一些,但可讀性更好,更適合對外部提供服務。  

 

極客時間版權所有: https://time.geekbang.org/column/article/15092

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章