rpc與rmi
RPC和RMI的基本區別在於RPC是一種機制,它支持在遠程計算機上調用過程,而RMI是RPC在java中的實現。RPC與語言無關,但只支持要傳遞的原始數據類型。另一方面,RMI僅限於Java,但允許傳遞對象。RPC遵循傳統的面向對象的結構,而RPC支持過程化設計。
什麼是rpc(rpc)?
RPC進程,代表遠程過程類型。這允許在本地計算機或遠程計算機上運行的另一個進程中調用函數。這個概念早在1980年就出現了,但是第一個著名的實現是在Unix中看到的。
RPC包括幾個步驟。客戶端像往常一樣在本地計算機上執行過程調用。名為client stub的模塊收集參數並創建消息並傳遞給操作系統,操作系統執行系統調用並將此消息發送到遠程計算機。服務器中的操作系統收集消息並傳遞到服務器上名為服務器存根的模塊。然後服務器存根調用服務器上的過程。最後,將結果發送回客戶端。
使用RPC的優點是它獨立於網絡細節。程序員只需以抽象的方式指定,而操作系統將負責內部網絡的詳細信息。因此,這使得編程變得更容易,並且允許RPC在任何網絡上工作,儘管物理和協議存在差異。RPC實現存在於所有主流操作系統中,如Unix、Linux、Windows和OS X。RPC通常是語言中立的,因此它將數據類型限制為最原始的類型,因為它們必須是所有語言通用的。RPC中的方法不是面向對象的,但它是一種傳統的過程機制,就像在C中一樣。
什麼是rmi公司(rmi)?
RMI代表遠程方法調用(remotemethodinvocation),是一個API(應用程序編程接口),它在java中實現RPC,以支持面向對象的特性。這允許在駐留在同一臺計算機或遠程計算機上的另一個Java虛擬機上調用Java方法。RMI的侷限性是隻能調用Java方法,但這有一個優點,即對象可以作為參數和返回值傳遞。當性能被認為比RPC慢時,由於涉及Java虛擬機上的字節碼,RMI對程序員非常友好,並且非常容易使用。
RMI在Java中使用了內置的安全機制,還提供了一個支持使用非TCP自定義傳輸層協議的套接字工廠。此外,RMI提供了繞過防火牆的方法。RMI中發生的步驟與RPC類似。RMI的實現負責內部網絡細節,程序員不必擔心這些細節。
rpc(rpc)和rmi公司(rmi)的區別
•RPC是語言中立的,而RMI僅限於Java。
•RPC與C語言類似,但RMI是面向對象的。
•RPC只支持原始數據類型,而RMI允許對象作為參數和返回值傳遞。當使用RPC時,程序員必須將任何複合對象拆分為原始數據類型。
•RMI易於編程該RPC。
•RMI比RPC慢,因為RMI涉及java字節碼的執行。
•由於面向對象的特性,RMI允許使用設計模式,而RPC不具備這種功能。
摘要:
rpc與rmi
RPC是一種語言無關的機制,允許在遠程計算機上調用過程。但是,語言中立特性限制了作為參數傳遞的數據類型,並將值返回給基元類型。RMI是RPC在Java中的實現,它還支持對象傳遞,使程序員的生活更輕鬆。RMI的優點是支持面向對象的設計,而對Java的限制則是一個缺點。
- CAPS Enterprise的同步與異步RPC(CC by-SA 3.0)