分佈式系統的發展演變以及RPC簡介

場景

什麼是分佈式系統

分佈式系統是若干獨立計算機的集合,這些計算機對於用戶來講就像單個相關係統。前端

分佈式系統是創建在網絡之上的軟件系統。程序員

注:編程

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公衆號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。服務器

實現

單一應用架構

當網站流量很小時,只需一個應用,將全部功能都部署在一塊兒,以減小部署節點和成本。此時,用於簡化增刪改查工做量的數據訪問框架(ORM)是關鍵。網絡

 

 

單一應用結構特色

適用於小型網站,小型管理系統,將全部功能都部署到一個功能裏,簡單易用。
缺點: 一、性能擴展比較難
       二、協同開發問題
       三、不利於升級維護架構


垂直應用結構

當訪問量逐漸增大,單一應用增長機器帶來的加速度愈來愈小,將應用拆成互不相干的幾個應用,以提高效率。此時,用於加速前端頁面開發的Web框架(MVC)是關鍵。框架

 

 

垂直應用結構特色

經過切分業務來實現各個模塊獨立部署,下降了維護和部署的難度,團隊各司其職更易管理,性能擴展也更方便,更有針對性。
缺點: 公用模塊沒法重複利用,開發性的浪費分佈式

分佈式服務架構

當垂直應用愈來愈多,應用之間交互不可避免,將核心業務抽取出來,做爲獨立的服務,逐漸造成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。此時,用於提升業務複用及整合的分佈式服務框架(RPC)是關鍵。函數

 

 

流動計算架構

當服務愈來愈多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增長一個調度中心基於訪問壓力實時管理集羣容量,提升集羣利用率。此時,用於提升機器利用率的資源調度和治理中心(SOA)[ Service Oriented Architecture]是關鍵。性能

RPC

什麼叫RPC

RPC【Remote Procedure Call】是指遠程過程調用,是一種進程間通訊方式,他是一種技術的思想,而不是規範。它容許程序調用另外一個地址空間(一般是共享網絡的另外一臺機器上)的過程或函數,而不用程序員顯式編碼這個遠程調用的細節。即程序員不管是調用本地的仍是遠程的函數,本質上編寫的調用代碼基本相同。

RPC基本原理

 

 

RPC舉例

A服務器想要調用B服務器的的方法,整個過程以下圖

 

 

由此能夠看出RPC的兩個核心模塊是通信和序列化。

相關文章
相關標籤/搜索