序列

什么是反序列化?將在序列化過程中所生成的二進(jìn)制串轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)或者對(duì)象的過程。

為什么需要序列化?轉(zhuǎn)換為二進(jìn)制串后才好進(jìn)行網(wǎng)絡(luò)傳輸嘛!為什么需要反序列化?將二進(jìn)制轉(zhuǎn)換為對(duì)象才好進(jìn)行后續(xù)處理!

現(xiàn)如今序列化的方案越來越多,每種序列化方案都有優(yōu)點(diǎn)和缺點(diǎn),它們?cè)谠O(shè)計(jì)之初有自己獨(dú)特的應(yīng)用場(chǎng)景,那到底選擇哪種呢?從RPC的角度上看,主要看三點(diǎn):1)通用性,比如是否能支持Map等復(fù)雜的數(shù)據(jù)結(jié)構(gòu);2)性能,包括時(shí)間復(fù)雜度和空間復(fù)雜度,由于RPC框架將會(huì)被公司幾乎所有服務(wù)使用,如果序列化上能節(jié)約一點(diǎn)時(shí)間,對(duì)整個(gè)公司的收益都將非??捎^,同理如果序列化上能節(jié)約一點(diǎn)內(nèi)存,網(wǎng)絡(luò)帶寬也能省下不少;3)可擴(kuò)展性,對(duì)互聯(lián)網(wǎng)公司而言,業(yè)務(wù)變化快,如果序列化協(xié)議具有良好的可擴(kuò)展性,支持自動(dòng)增加新的業(yè)務(wù)字段,刪除老的字段,而不影響老的服務(wù),這將大大提供系統(tǒng)的健壯性。

目前國(guó)內(nèi)各大互聯(lián)網(wǎng)公司廣泛使用hessian、protobuf、thrift、avro等成熟的序列化解決方案來搭建RPC框架,這些都是久經(jīng)考驗(yàn)的解決方案。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容