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