Java遠(yuǎn)程通訊可選技術(shù)及原理

基本原理

要實(shí)現(xiàn)網(wǎng)絡(luò)機(jī)器間的通訊钞脂,首先得來看看計(jì)算機(jī)系統(tǒng)網(wǎng)絡(luò)通信的基本原理怔昨,在底層層面去看薄腻,網(wǎng)絡(luò)通信需要做的就是將流從一臺(tái)計(jì)算機(jī)傳輸?shù)搅硗庖慌_(tái)計(jì)算機(jī)编振,基于傳輸協(xié)議和網(wǎng)絡(luò)IO來實(shí)現(xiàn)索烹,所有的分布式應(yīng)用通訊都基于這個(gè)原理而實(shí)現(xiàn)工碾,只是為了應(yīng)用的易用,各種語言通常都會(huì)提供一些更為貼近應(yīng)用易用的應(yīng)用層協(xié)議:

傳輸協(xié)議

比較出名的有socket百姓、http渊额、tcp、udp等等,其中socket作為最底層的傳輸協(xié)議旬迹,而http火惊、tcp、udp都是在此基礎(chǔ)上為某類應(yīng)用而擴(kuò)展出的協(xié)議

網(wǎng)絡(luò)IO

主要有bio奔垦、nio屹耐、aio三種方式。
應(yīng)用級(jí)協(xié)議
遠(yuǎn)程服務(wù)通訊椿猎,需要達(dá)到的目標(biāo)是在一臺(tái)計(jì)算機(jī)發(fā)起請(qǐng)求惶岭,另外一臺(tái)機(jī)器在接收到請(qǐng)求后進(jìn)行相應(yīng)的處理并將結(jié)果返回給請(qǐng)求端,這其中又會(huì)有諸如one way request犯眠、同步請(qǐng)求按灶、異步請(qǐng)求等等請(qǐng)求方式,按照網(wǎng)絡(luò)通信原理筐咧,需要實(shí)現(xiàn)這個(gè)需要做的就是將請(qǐng)求轉(zhuǎn)換成流鸯旁,通過傳輸協(xié)議傳輸至遠(yuǎn)端,遠(yuǎn)端計(jì)算機(jī)在接收到請(qǐng)求的流后進(jìn)行處理量蕊,處理完畢后將結(jié)果轉(zhuǎn)化為流铺罢,并通過傳輸協(xié)議返回給調(diào)用端。
原理是這樣的残炮,但為了應(yīng)用的方便韭赘,業(yè)界推出了很多基于此原理之上的應(yīng)用級(jí)的協(xié)議,使得大家可以不用去直接操作這么底層的東西吉殃,通常應(yīng)用級(jí)的遠(yuǎn)程通信協(xié)議會(huì)提供:
1辞居、為了避免直接做流操作這么麻煩楷怒,提供一種更加易用或貼合語言的標(biāo)準(zhǔn)傳輸格式蛋勺;
2、網(wǎng)絡(luò)通信機(jī)制的實(shí)現(xiàn)鸠删,就是替你完成了將傳輸格式轉(zhuǎn)化為流抱完,通過某種傳輸協(xié)議傳輸至遠(yuǎn)端計(jì)算機(jī),遠(yuǎn)端計(jì)算機(jī)在接收到流后轉(zhuǎn)化為傳輸格式刃泡,并進(jìn)行存儲(chǔ)或以某種方式通知遠(yuǎn)端計(jì)算機(jī)巧娱。

應(yīng)用級(jí)協(xié)議

遠(yuǎn)程服務(wù)通訊,需要達(dá)到的目標(biāo)是在一臺(tái)計(jì)算機(jī)發(fā)起請(qǐng)求烘贴,另外一臺(tái)機(jī)器在接收到請(qǐng)求后進(jìn)行相應(yīng)的處理并將結(jié)果返回給請(qǐng)求端禁添,這其中又會(huì)有諸如one way request、同步請(qǐng)求桨踪、異步請(qǐng)求等等請(qǐng)求方式老翘,按照網(wǎng)絡(luò)通信原理,需要實(shí)現(xiàn)這個(gè)需要做的就是將請(qǐng)求轉(zhuǎn)換成流,通過傳輸協(xié)議傳輸至遠(yuǎn)端铺峭,遠(yuǎn)端計(jì)算機(jī)在接收到請(qǐng)求的流后進(jìn)行處理墓怀,處理完畢后將結(jié)果轉(zhuǎn)化為流,并通過傳輸協(xié)議返回給調(diào)用端卫键。
原理是這樣的傀履,但為了應(yīng)用的方便,業(yè)界推出了很多基于此原理之上的應(yīng)用級(jí)的協(xié)議莉炉,使得大家可以不用去直接操作這么底層的東西钓账,通常應(yīng)用級(jí)的遠(yuǎn)程通信協(xié)議會(huì)提供:
1、為了避免直接做流操作這么麻煩呢袱,提供一種更加易用或貼合語言的標(biāo)準(zhǔn)傳輸格式官扣;
2、網(wǎng)絡(luò)通信機(jī)制的實(shí)現(xiàn)羞福,就是替你完成了將傳輸格式轉(zhuǎn)化為流惕蹄,通過某種傳輸協(xié)議傳輸至遠(yuǎn)端計(jì)算機(jī),遠(yuǎn)端計(jì)算機(jī)在接收到流后轉(zhuǎn)化為傳輸格式治专,并進(jìn)行存儲(chǔ)或以某種方式通知遠(yuǎn)端計(jì)算機(jī)卖陵。

1.png

還有EJB采用的ORMI、Spring自己定義的一個(gè)簡(jiǎn)單的Http Invoker等等张峰。

可選實(shí)現(xiàn)技術(shù)

2.png

總結(jié)

在遠(yuǎn)程通訊領(lǐng)域中泪蔫,涉及的知識(shí)點(diǎn)還是相當(dāng)?shù)亩嗟模缬校和ㄐ艆f(xié)議(Socket/tcp/http/udp/rmi/xml-rpc etc.)喘批、消息機(jī)制撩荣、網(wǎng)絡(luò)IO(BIO/NIO/AIO)、MultiThread饶深、本地調(diào)用與遠(yuǎn)程調(diào)用的透明化方案(涉及java classloader餐曹、Dynamic Proxy、Unit Test etc.)敌厘、異步與同步調(diào)用台猴、網(wǎng)絡(luò)通信處理機(jī)制(自動(dòng)重連、廣播俱两、異常饱狂、池處理等等)、Java Serialization (各種協(xié)議的私有序列化機(jī)制等)宪彩、各種框架的實(shí)現(xiàn)原理(傳輸格式休讳、如何將傳輸格式轉(zhuǎn)化為流的、如何將請(qǐng)求信息轉(zhuǎn)化為傳輸格式的尿孔、如何接收流的俊柔、如何將流還原為傳輸格式的等等)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末磺樱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子婆咸,更是在濱河造成了極大的恐慌竹捉,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尚骄,死亡現(xiàn)場(chǎng)離奇詭異块差,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)倔丈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門憨闰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人需五,你說我怎么就攤上這事鹉动。” “怎么了宏邮?”我有些...
    開封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵泽示,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我蜜氨,道長(zhǎng)械筛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任飒炎,我火速辦了婚禮埋哟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘郎汪。我一直安慰自己赤赊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開白布煞赢。 她就那樣靜靜地躺著抛计,像睡著了一般。 火紅的嫁衣襯著肌膚如雪耕驰。 梳的紋絲不亂的頭發(fā)上爷辱,一...
    開封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天录豺,我揣著相機(jī)與錄音朦肘,去河邊找鬼。 笑死双饥,一個(gè)胖子當(dāng)著我的面吹牛媒抠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼纵竖!你這毒婦竟也來了豪椿?” 一聲冷哼從身側(cè)響起盆佣,我...
    開封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤系冗,失蹤者是張志新(化名)和其女友劉穎岖研,沒想到半個(gè)月后显押,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浸踩,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叔汁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了检碗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片据块。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖折剃,靈堂內(nèi)的尸體忽然破棺而出另假,到底是詐尸還是另有隱情,我是刑警寧澤怕犁,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布边篮,位于F島的核電站,受9級(jí)特大地震影響奏甫,放射性物質(zhì)發(fā)生泄漏苟耻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一扶檐、第九天 我趴在偏房一處隱蔽的房頂上張望凶杖。 院中可真熱鬧,春花似錦款筑、人聲如沸智蝠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杈湾。三九已至,卻和暖如春攘须,著一層夾襖步出監(jiān)牢的瞬間漆撞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工于宙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浮驳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓捞魁,卻偏偏與公主長(zhǎng)得像至会,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谱俭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 在分布式服務(wù)框架中奉件,一個(gè)最基礎(chǔ)的問題就是遠(yuǎn)程服務(wù)是怎么通訊的宵蛀,在Java領(lǐng)域中有很多可實(shí)現(xiàn)遠(yuǎn)程通訊的技術(shù),例如:R...
    wyatt_plus閱讀 832評(píng)論 0 4
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 11,010評(píng)論 6 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理县貌,服務(wù)發(fā)現(xiàn)术陶,斷路器,智...
    卡卡羅2017閱讀 134,716評(píng)論 18 139
  • 從三月份找實(shí)習(xí)到現(xiàn)在煤痕,面了一些公司瞳别,掛了不少,但最終還是拿到小米杭攻、百度祟敛、阿里、京東兆解、新浪馆铁、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,278評(píng)論 11 349
  • Cold Creek Conservation Area锅睛,我給它翻譯成冷溪保護(hù)區(qū)埠巨,離多倫多只有40分鐘的路程,不知...
    田園讀書人閱讀 645評(píng)論 0 4