了解最新公司動態(tài)及行業(yè)資訊
隨著企業(yè)IT服務不斷演進,單臺服務器無法承受用戶日益增長的需求,需要多臺服務器組成“服務集群”對外提供服務。與此同時,隨著對產(chǎn)品需求的增加,商業(yè)服務將變得越來越膨脹。服務必須在架構中拆分。一個完整的大服務會分解成許多獨立的小服務。每個小服務將由一個獨立的進程處理。管理提供外部服務,稱為“微服務”。
當用戶的請求到來時it外包服務,我們需要將用戶的請求分散到多個服務中單獨處理,然后需要將這些子服務的結果匯總呈現(xiàn)給用戶。那么,服務交互的方式是需要解決的核心問題。RPC 的發(fā)明和存在是為了解決服務之間的信息交換。
什么是 RPC?
RPC( Call)是分布式系統(tǒng)中一種常見的通信方式,已經(jīng)使用了40多年。當兩個物理上獨立的子系統(tǒng)需要進行邏輯關聯(lián)時,RPC 是常用的匹配技術之一。除了RPC,常見的多系統(tǒng)數(shù)據(jù)交互方案還有分布式消息隊列、HTTP請求調用、數(shù)據(jù)庫、分布式緩存等。
最流行的語言是RPC和HTTP
RPC和HTTP調用不是通過中間件,而是端到端系統(tǒng)的直接數(shù)據(jù)交換。HTTP 調用也可以認為是一種特殊的 RPC,只不過傳統(tǒng)意義上的 RPC 是指長連接的數(shù)據(jù)交換,而 HTTP 通常是指準備好的短鏈接。
RPC 在我們所知道的所有中間件中都有它。Nginx/Redis/MySQL/Dubbo//Spark/等重量級開源產(chǎn)品都是基于RPC技術構建的。RPC是指廣義的RPC,是一種分布式系統(tǒng)的通信技術。RPC 在技術方面比我們周圍的空氣更好。它無處不在,但很多人甚至不知道它的存在。Nginx 和 RPC
Ngnix 是互聯(lián)網(wǎng)公司使用最廣泛的代理服務器。它為后端分布式服務提供負載均衡,后端可以將多個后端服務地址聚合成一個地址對外服務。如您所見,它是技術堆棧中最流行的 Web 框架。
最流行的語言是RPC和HTTP
Nginx與后端服務的交互也基本理解為RPC數(shù)據(jù)交互。也許你會爭辯說 Nginx 和后端服務使用的是 HTTP 協(xié)議,這是一個短連接,而不是嚴格的 RPC 調用。
最流行的語言是RPC和HTTP
你是對的,但是 Nginx 和后端服務之間還有其他協(xié)議,比如 uwsgi 協(xié)議、協(xié)議等。這兩個協(xié)議都使用了比 HTTP 協(xié)議更高效的二進制協(xié)議。如上圖所示,uWSGI 是一個眾所周知的容器,可用于為啟動 uwsgi 協(xié)議的服務器啟動服務。
uwsgi 通信協(xié)議在語言系統(tǒng)中非常常見。如果企業(yè)使用語言棧構建 Web 服務,他們會在生產(chǎn)環(huán)境中部署應用程序,而不是使用 HTTP 協(xié)議或使用 uwsgi 協(xié)議連接到 Nginx。溝通。
最流行的語言是RPC和HTTP
協(xié)議在PHP語言系統(tǒng)中非常常見,Nginx和PHP-fpm進程之間經(jīng)常使用協(xié)議進行通信。
和 RPC
在大數(shù)據(jù)技術領域,RPC也占有非常重要的地位。大量分布式技術被廣泛應用于大數(shù)據(jù)領域。分布式意味著節(jié)點的物理隔離。隔離意味著需要通信,而通信意味著有RPC。大數(shù)據(jù)比業(yè)務系統(tǒng)需要更多的通信,因此它更深入地進行數(shù)據(jù)通信優(yōu)化。
最流行的語言是RPC和HTTP
例如,最常見的文件系統(tǒng) hdfs 通常包含和多個。并通過稱為 RPC 的二進制協(xié)議進行通信。
和 RPC
在人工智能領域,RPC也很重要。如果一個知名的框架需要處理上億的數(shù)據(jù)it外包服務,就需要依賴分布式計算能力,需要做集群。當多個分布式節(jié)點需要集體智能時,就必須引入 RPC 技術。溝通。RPC 通信框架使用內部自研的 gRPC 框架。最流行的語言是RPC和HTTP