本文介紹HSF的一次調用過程。
HSF的一次調用過程是從服務消費方發起,經過網路抵達服務提供者,再將服務提供者的結果通過網路攜帶返回,最終返回給使用者。該過程涉及多線程互動,同時也涉及HSF中的不同領域對象。
HSF的一次調用過程如下圖所示:
過程 | 說明 |
1 | 在用戶端線程中將使用者的請求參數即請求對象進行序列化,並將序列後的內容存放在請求通訊的對象中。 說明 請求通訊對象對應的是HSF協議,包括了請求ID等多個與請求對象無關的內容。 |
2 | 系統將請求通訊對象遞交給I/O線程,並在I/O線程中完成編碼。 |
3 | 編碼完成後,將內容傳遞到服務提供者的I/O線程。用戶端線程會等待結果返回。 |
4 | 服務提供者的I/O線程接收到二進位內容,解碼後產生通訊請求對象,並將其遞交給HSF服務端線程。 |
5 | 在HSF服務端線程完成還原序列化還原成請求對象。 |
6 | 發起反射調用,並得到結果,即響應對象。 |
7 | 響應對象會在HSF服務端線程中完成序列化,並儲存在通訊響應對象中。 |
8 | HSF 服務端線程將通訊響應對象遞交給I/O線程,在I/O線程中完成編碼。 |
9 | 服務提供者將I/O線程中完成編碼,發送回服務消費方。 |
10 | 服務消費方收到二進位內容,在I/O線程中完成解碼,產生響應通訊對象,並喚醒用戶端線程。 |
11 | 用戶端線程根據響應通訊對象中的內容進行還原序列化,使用者收到響應對象,一次遠程調用結束。 |