一次調(diào)用過程
本文介紹HSF的一次調(diào)用過程。
HSF的一次調(diào)用過程是從服務(wù)消費(fèi)方發(fā)起,經(jīng)過網(wǎng)絡(luò)抵達(dá)服務(wù)提供方,再將服務(wù)提供方的結(jié)果通過網(wǎng)絡(luò)攜帶返回,最終返回給用戶。該過程涉及多線程交互,同時(shí)也涉及HSF中的不同領(lǐng)域?qū)ο蟆?/p>
HSF的一次調(diào)用過程如下圖所示:
過程 | 說明 |
1 | 在客戶端線程中將用戶的請求參數(shù)即請求對(duì)象進(jìn)行序列化,并將序列化后的內(nèi)容存放在請求通信的對(duì)象中。 說明 請求通信對(duì)象對(duì)應(yīng)的是HSF協(xié)議,包括了請求ID等多個(gè)與請求對(duì)象無關(guān)的內(nèi)容。 |
2 | 系統(tǒng)將請求通信對(duì)象遞交給I/O線程,并在I/O線程中完成編碼。 |
3 | 編碼完成后,將內(nèi)容傳遞到服務(wù)提供方的I/O線程。客戶端線程會(huì)等待結(jié)果返回。 |
4 | 服務(wù)提供方的I/O線程接收到二進(jìn)制內(nèi)容,解碼后生成通信請求對(duì)象,并將其遞交給HSF服務(wù)端線程。 |
5 | 在HSF服務(wù)端線程完成反序列化還原成請求對(duì)象。 |
6 | 發(fā)起反射調(diào)用,并得到結(jié)果,即響應(yīng)對(duì)象。 |
7 | 響應(yīng)對(duì)象會(huì)在HSF服務(wù)端線程中完成序列化,并存儲(chǔ)在通信響應(yīng)對(duì)象中。 |
8 | HSF 服務(wù)端線程將通信響應(yīng)對(duì)象遞交給I/O線程,在I/O線程中完成編碼。 |
9 | 服務(wù)提供方將I/O線程中完成編碼,發(fā)送回服務(wù)消費(fèi)方。 |
10 | 服務(wù)消費(fèi)方收到二進(jìn)制內(nèi)容,在I/O線程中完成解碼,生成響應(yīng)通信對(duì)象,并喚醒客戶端線程。 |
11 | 客戶端線程根據(jù)響應(yīng)通信對(duì)象中的內(nèi)容進(jìn)行反序列化,用戶收到響應(yīng)對(duì)象,一次遠(yuǎn)程調(diào)用結(jié)束。 |