Python遠程過程調用

遠程過程調用(RPC)系統使我們可以使用在本地庫中調用函數時所使用的語法來調用遠程伺服器上可用的函數。這在兩種情況下很有用:

  • 使用rpc利用多臺電腦的處理能力,而無需更改用於調用遠程系統中程序的代碼。
  • 處理所需的數據僅在遠程系統中可用。

因此,在python中,可以將一臺電腦視為伺服器,將另一臺電腦視為客戶端,這將對伺服器進行調用以運行遠程過程。在下面示例中,我們將使用localhost並將其用作伺服器和客戶端。

1. 運行伺服器

內置伺服器附帶python語言,可以將其作為本地伺服器運行。運行該伺服器的腳本位於python安裝的bin檔夾下,腳本名為classic.py。可以在python提示符下運行它,並檢查它是否在本地伺服器上運行。

$ python bin/classic.py

當運行上面的程式時,得到以下輸出-

INFO:SLAVE/18812:server started on [127.0.0.1]:18812

2. 運行客戶端

接下來,使用rpyc模組運行客戶端以執行遠程過程調用。下麵的示例中,在遠程伺服器中執行列印功能。

import rpyc
conn = rpyc.classic.connect("localhost")
conn.execute("print('Hello from zaixian')")

當運行上面的程式時,得到以下輸出-

Hello from zaixian

4. 通過RPC進行表達評估

使用上面的代碼示例,可以使用python的內置函數通過rpc執行和評估運算式。

import rpyc
conn = rpyc.classic.connect("localhost")
conn.execute('import math')
conn.eval('2*math.pi')

當運行上面的程式時,得到以下輸出-

6.283185307179586

上一篇: Python列出目錄 下一篇:無