分布式系统的发展演变以及RPC简介
場(chǎng)景
什么是分布式系統(tǒng)
分布式系統(tǒng)是若干獨(dú)立計(jì)算機(jī)的集合,這些計(jì)算機(jī)對(duì)于用戶來說就像單個(gè)相關(guān)系統(tǒng)。
分布式系統(tǒng)是建立在網(wǎng)絡(luò)之上的軟件系統(tǒng)。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號(hào)
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
實(shí)現(xiàn)
單一應(yīng)用架構(gòu)
當(dāng)網(wǎng)站流量很小時(shí),只需一個(gè)應(yīng)用,將所有功能都部署在一起,以減少部署節(jié)點(diǎn)和成本。此時(shí),用于簡化增刪改查工作量的數(shù)據(jù)訪問框架(ORM)是關(guān)鍵。
?
單一應(yīng)用結(jié)構(gòu)特點(diǎn)
適用于小型網(wǎng)站,小型管理系統(tǒng),將所有功能都部署到一個(gè)功能里,簡單易用。
缺點(diǎn): 1、性能擴(kuò)展比較難
?????? 2、協(xié)同開發(fā)問題
?????? 3、不利于升級(jí)維護(hù)
垂直應(yīng)用結(jié)構(gòu)
當(dāng)訪問量逐漸增大,單一應(yīng)用增加機(jī)器帶來的加速度越來越小,將應(yīng)用拆成互不相干的幾個(gè)應(yīng)用,以提升效率。此時(shí),用于加速前端頁面開發(fā)的Web框架(MVC)是關(guān)鍵。
?
垂直應(yīng)用結(jié)構(gòu)特點(diǎn)
通過切分業(yè)務(wù)來實(shí)現(xiàn)各個(gè)模塊獨(dú)立部署,降低了維護(hù)和部署的難度,團(tuán)隊(duì)各司其職更易管理,性能擴(kuò)展也更方便,更有針對(duì)性。
缺點(diǎn): 公用模塊無法重復(fù)利用,開發(fā)性的浪費(fèi)
分布式服務(wù)架構(gòu)
當(dāng)垂直應(yīng)用越來越多,應(yīng)用之間交互不可避免,將核心業(yè)務(wù)抽取出來,作為獨(dú)立的服務(wù),逐漸形成穩(wěn)定的服務(wù)中心,使前端應(yīng)用能更快速的響應(yīng)多變的市場(chǎng)需求。此時(shí),用于提高業(yè)務(wù)復(fù)用及整合的分布式服務(wù)框架(RPC)是關(guān)鍵。
?
流動(dòng)計(jì)算架構(gòu)
當(dāng)服務(wù)越來越多,容量的評(píng)估,小服務(wù)資源的浪費(fèi)等問題逐漸顯現(xiàn),此時(shí)需增加一個(gè)調(diào)度中心基于訪問壓力實(shí)時(shí)管理集群容量,提高集群利用率。此時(shí),用于提高機(jī)器利用率的資源調(diào)度和治理中心(SOA)[ Service Oriented Architecture]是關(guān)鍵。
?
RPC
什么叫RPC
RPC【Remote Procedure Call】是指遠(yuǎn)程過程調(diào)用,是一種進(jìn)程間通信方式,他是一種技術(shù)的思想,而不是規(guī)范。它允許程序調(diào)用另一個(gè)地址空間(通常是共享網(wǎng)絡(luò)的另一臺(tái)機(jī)器上)的過程或函數(shù),而不用程序員顯式編碼這個(gè)遠(yuǎn)程調(diào)用的細(xì)節(jié)。即程序員無論是調(diào)用本地的還是遠(yuǎn)程的函數(shù),本質(zhì)上編寫的調(diào)用代碼基本相同。
RPC基本原理
?
RPC舉例
A服務(wù)器想要調(diào)用B服務(wù)器的的方法,整個(gè)過程如下圖
?
由此可以看出RPC的兩個(gè)核心模塊是通訊和序列化。
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的分布式系统的发展演变以及RPC简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JPA中实现双向一对一的关联关系
- 下一篇: VMware10.0中安装CentOS8