這里客戶端和遠程服務都是具體和業務相關的,比如說會員服務需要獨立部署。遠程服務框架是要做的工作就是屏蔽具體和遠程接口交互的細節,方便調用方進行調用,比如說配上接口名,服務器IP就能實現通信。實際應用中也不會太關心具體的機器IP。假如說會員服務是一個集群服務,那么對于客戶端而言并不需要關心具體的IP,它所關心的只有服務,具體路由到哪臺機器去處理也將是目標服務需要做的事情。并非客戶端去做的事情。
1. 注冊中心 ,注射中心相當于一個管理者,或者說是一些基本的通信信息,比如說接口名,調用方法機器IP,目標機器IP,或者還有端口之類的一些最基本的可以完成通信的一些信息。
2. 客戶 端 ( 代理類 ) ,其實如果用過Spring的都知道,Spring是可以注入具體的實現類,但是指的是本地方法,如果是遠程方法是沒有辦法直接進行注冊的。這里就需要用遠程框架進行中轉,框架會提供一個本地方法注冊到Spring,它屏蔽了和服務機交互的細節,中間用TCP/IP協議是毫無疑問的。
1. 注冊中心 ,注射中心相當于一個管理者,或者說是一些基本的通信信息,比如說接口名,調用方法機器IP,目標機器IP,或者還有端口之類的一些最基本的可以完成通信的一些信息。
2. 客戶 端 ( 代理類 ) ,其實如果用過Spring的都知道,Spring是可以注入具體的實現類,但是指的是本地方法,如果是遠程方法是沒有辦法直接進行注冊的。這里就需要用遠程框架進行中轉,框架會提供一個本地方法注冊到Spring,它屏蔽了和服務機交互的細節,中間用TCP/IP協議是毫無疑問的。
3.
服務端
,
前面也說了根據TCP/IP協議進行通信是最基本的。既然前面有發送請求的客戶端,那么就一定有接收請求的服務端,服務端是和具體服務是在同一臺機器。服務端接收到客戶端發來的請求(一般是類名,方法名和參數等一些信息)然后調用具體的方法。再回傳。這樣就完成了一次完整的遠程通信。
4. 通信協議 ,這里說TCP基本沒意義,因為可靠的網絡傳輸協議都是通過這個。但是就像HTTP協議一樣是在TCP協議之上封裝了一層,我這里所說的意思也就是相當于一個HTTP協議。Java對象傳輸都需要進行序列化操作,一般不會采用Java自帶的序列化,除去序列化的速度慢之外,數據量大小也是一個因素。序列化的速度毫無疑問會影響機器性能。數據量大小對于需要網絡傳輸的服務而言,在一定的帶寬下數據量越大肯定會影響影響具體的傳輸時間。
4. 通信協議 ,這里說TCP基本沒意義,因為可靠的網絡傳輸協議都是通過這個。但是就像HTTP協議一樣是在TCP協議之上封裝了一層,我這里所說的意思也就是相當于一個HTTP協議。Java對象傳輸都需要進行序列化操作,一般不會采用Java自帶的序列化,除去序列化的速度慢之外,數據量大小也是一個因素。序列化的速度毫無疑問會影響機器性能。數據量大小對于需要網絡傳輸的服務而言,在一定的帶寬下數據量越大肯定會影響影響具體的傳輸時間。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
