漫話:什麼是RPC

 

RPC 是Remote Procedure Call的縮寫,譯爲遠程過程調用。是一個計算機通信協議。

爲什麼需要遠程調用

爲了提升飯店的服務能力,飯店從一開始只有一個負責所有事情的廚師發展成有廚師、切菜師、備菜師等多個角色。

在飯店只有一個廚師的時候,廚師想要做出一道美味的番茄炒蛋的時候,他需要自己洗番茄、切番茄、打雞蛋、炒菜。整個過程不需要其他人蔘與自己就完全可以完成了。這就是古老的集中式應用中,一臺單體計算機就可以搞定所有事情了。

製作番茄炒蛋{
    廚師->洗菜->切菜->炒菜
}

隨着飯店發展,需要明確分工,讓專業的人負責專業的事兒。所以,整個做菜過程中不再只有廚師參與了。需要有多個角色,備菜師傅負責準備番茄和雞蛋、切菜師傅負責切菜、廚師只要負責炒菜就行了。

但是,隨着分工明確,製作番茄炒蛋的過程不再是隻有一個人參與的過程了。這個過程中需要多方協作。廚師準備炒菜之前,需要先通知備菜師傅和切菜師傅,前序工作準備好之後才能進行炒菜。

製作番茄炒蛋{
    備菜師->洗菜
    切菜師->切菜
    廚師->炒菜
}

這種情況下,廚師就要依賴很多外人來參與這個炒菜工作。而他在通知備菜師幫他洗菜,通知切菜師傅幫他切菜的時候,這個過程就是遠程過程調用。

大多數情況下,一般是服務員直接到廚房下單,然後後廚有一個人員分別把菜單分發給備菜師、切菜師和廚師。

這個過程就和計算機系統很像了。如今的大型網站都是分佈式部署的。拿一個下單流程來說,可能涉及到物流、支付、庫存、紅包等多個系統後,而多個系統又是分別部署在不同的機器上的,分別由不同的團隊負責。而要想實現下單流程,就需要用到遠程調用。

下單{
    庫存->減少庫存
    支付->扣款
    紅包->紅包抵用
    物流->生成物流信息
}
發佈了23 篇原創文章 · 獲贊 10 · 訪問量 4647
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章