一、前言
前面介紹了Zookeeper的系統(tǒng)模型,下面進(jìn)一步學(xué)習(xí)Zookeeper的底層序列化機(jī)制,Zookeeper的客戶端與服務(wù)端之間會(huì)進(jìn)行一系列的網(wǎng)絡(luò)通信來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸,Zookeeper使用Jute組件來(lái)完成數(shù)據(jù)的序列化和反序列化操作。
二、Jute
Jute是Zookeeper底層序列化組件,其用于Zookeeper進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)傳輸和本地磁盤數(shù)據(jù)存儲(chǔ)的序列化和反序列化工作。
2.1 Jute序列化
MockReHeader實(shí)體類
View Code
Main
View Code
運(yùn)行結(jié)果
sessionId = 0, type = null
sessionId = 14673999700337486, type = ping
說(shuō)明:可以看到MockReHeader實(shí)體類需要實(shí)現(xiàn)Record接口并且實(shí)現(xiàn)serialize和deserialize方法。
OutputArchive和InputArchive分別是Jute底層的序列化器和反序列化器。
在Zookeeper的src文件夾下有zookeeper.jute文件,其內(nèi)容如下
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26