认识RPC
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
RPC框架有很多種,我這里就說一種Hessian 采用Hessian協(xié)議通過二進(jìn)制在網(wǎng)絡(luò)中傳輸。
RPC沒有具體的協(xié)議,其實(shí)就是對(duì)stock進(jìn)行了封裝,屏蔽了 底層的TCP/UDP, 序列化,通信細(xì)節(jié)
原理采用: JDK動(dòng)態(tài)代理,反射機(jī)制 +序列化/反序列化+stock通信
Hessian 是一個(gè)BIO通信機(jī)制,同步阻塞,性能不高,每個(gè)請(qǐng)求stock由一個(gè)獨(dú)立線程監(jiān)控為每個(gè)請(qǐng)求創(chuàng)建一個(gè)新的Thread進(jìn)行處理與響應(yīng),最后銷毀線程。不適合應(yīng)對(duì)大流量,高并發(fā),系統(tǒng),具體技術(shù)選型根據(jù)業(yè)務(wù)系統(tǒng)來(lái)定奪。
RPC核心技術(shù):
1、遠(yuǎn)程服務(wù)提供者需要以某種形式提供服務(wù)調(diào)用相關(guān)信息,可以是服務(wù)接口,數(shù)據(jù)結(jié)構(gòu),中間態(tài)服務(wù)定義文件。服務(wù)調(diào)用者需要通過一定的途徑獲取遠(yuǎn)程服務(wù)調(diào)用相關(guān)信息,可以是服務(wù)端的接口定義jar導(dǎo)入。
2、遠(yuǎn)程代理對(duì)象,服務(wù)調(diào)用者調(diào)用的服務(wù)實(shí)際是遠(yuǎn)程服務(wù)的本地代理,將本地調(diào)用封裝成遠(yuǎn)程服務(wù)調(diào)用。
4、序列化。
?
轉(zhuǎn)載于:https://my.oschina.net/zhangxinyuan/blog/905434
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
- 上一篇: 针对各组项目的改进意见
- 下一篇: 我理解的几种字符编码方式