卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

代碼編程入門 微服務(wù)調(diào)用為什么用RPC框架,http不更簡(jiǎn)單嗎?

微服務(wù)調(diào)用為什么用RPC框架,http不更簡(jiǎn)單嗎?簡(jiǎn)單一點(diǎn),HTTP是協(xié)議,RPC是概念!RPC可以基于HTTP協(xié)議(feign)、TCP協(xié)議(netty)、RMI協(xié)議(soap)和web服務(wù)(XML

微服務(wù)調(diào)用為什么用RPC框架,http不更簡(jiǎn)單嗎?

簡(jiǎn)單一點(diǎn),HTTP是協(xié)議,RPC是概念!RPC可以基于HTTP協(xié)議(feign)、TCP協(xié)議(netty)、RMI協(xié)議(soap)和web服務(wù)(XML-RPC)框架實(shí)現(xiàn)。在傳輸過程中,由于序列化方法的不同,也出現(xiàn)了一些框架和協(xié)議,如Dubbo中的Dubbo協(xié)議、grpc protobuf序列化協(xié)議等。實(shí)際上,它們都是基于遠(yuǎn)程調(diào)用的概念。什么是遠(yuǎn)程呼叫?

關(guān)鍵是RPC是遠(yuǎn)程調(diào)用。遠(yuǎn)程調(diào)用是客戶端通過上述協(xié)議向服務(wù)器發(fā)送接口、參數(shù)、參數(shù)類型、方法、返回值、返回值類型等(稱為方法簽名),通知服務(wù)器要調(diào)用的接口方法。這個(gè)過程就是RPC的實(shí)現(xiàn)過程!HTTP和RPC是兩碼事

!在性能方面,HTTP本身是基于TCP協(xié)議的,屬于應(yīng)用層協(xié)議,所以HTTP協(xié)議本身在實(shí)現(xiàn)過程中會(huì)占用大量的資源(內(nèi)存、帶寬等)。在性能方面,它肯定不如直接通過TCP實(shí)現(xiàn)的RPC協(xié)議快。不管HTTP有多優(yōu)化,它絕對(duì)沒有TCP那么快!另一方面,TCP依賴于字節(jié)碼。目前常用的是將客戶端調(diào)用的接口信息以序列化的方式發(fā)送到服務(wù)器端。序列化框架包括許多內(nèi)容(Hession、protobuf、kryo等)。Kryo具有最高的序列化性能,protobuf具有序列化后最小的字節(jié)碼)。序列化后的字節(jié)碼越小,占用的帶寬越小,序列化時(shí)間越長(zhǎng),線程IO延遲越短,線程IO延遲越小。因此,在具體的應(yīng)用層,有很多技術(shù)可以討論。您可以根據(jù)自己的硬件能力選擇相應(yīng)的技術(shù)

!歡迎熱愛科技的人們來探索

程序員常說的底層是指什么?

當(dāng)我們現(xiàn)在開發(fā)軟件時(shí),有許多種類的庫或組件可以被引用。這將提高軟件開發(fā)的效率,當(dāng)然也降低了開發(fā)的難度。

它通常指“本機(jī)開發(fā)”,即不使用或使用其他人封裝的較少代碼庫的軟件開發(fā)

!例如,對(duì)于Windows應(yīng)用程序的開發(fā),使用Visual C或C#,它們對(duì)系統(tǒng)的具體實(shí)現(xiàn)有很多封裝。對(duì)于開發(fā)人員來說,它是透明的,他們不知道它的具體實(shí)現(xiàn)過程是怎樣的。

但是如果使用Windows系統(tǒng)提供的原始API進(jìn)行開發(fā),則需要掌握系統(tǒng)的具體實(shí)現(xiàn)過程,了解其原理,才能進(jìn)行軟件開發(fā)。而這是提高一個(gè)人系統(tǒng)開發(fā)能力的最佳途徑

!因此,作為一名專業(yè)軟件開發(fā)人員,我們應(yīng)該從所謂的“底層”了解系統(tǒng)的工作原理。這樣,我們?cè)陂_發(fā)軟件時(shí),就可以利用它對(duì)代碼進(jìn)行改進(jìn)和優(yōu)化,提高軟件的效率和健壯性。而不是僅僅能夠?qū)崿F(xiàn)特定的功能,而不關(guān)心軟件的實(shí)現(xiàn)效率等問題。

當(dāng)我們熟練地掌握這些“底層”原則時(shí),我們將在軟件開發(fā)過程中更加得心應(yīng)手。只有這樣,所開發(fā)的軟件才能更加健壯和可維護(hù)

!如果你認(rèn)為我的回答對(duì)你有幫助,請(qǐng)喜歡。謝謝您!