分布式彈力設(shè)計(jì)之異步通信

講到異步通信泽腮,不得不先提同步通信衣赶,如果把打電話比做同步诊赊,那短信就是異步。同步操作有個(gè)優(yōu)點(diǎn)府瞄,實(shí)時(shí)性好碧磅,但存在以下問題。

1 影響吞吐量遵馆,系統(tǒng)間同步通信鲸郊,吞吐量由最慢的那個(gè)系統(tǒng)決定。

2 浪費(fèi)系統(tǒng)資源货邓,同步通信是阻塞的秆撮,導(dǎo)致調(diào)用方一直占用著系統(tǒng)資源。

3 只能一對(duì)一

4 系統(tǒng)之間強(qiáng)依賴换况,容易出現(xiàn)連鎖反應(yīng)

異步通信可以很好的解決以上問題职辨。常見的異步通信模型有三種,請(qǐng)求響應(yīng)戈二,發(fā)布訂閱觉吭,通過消息隊(duì)列

1 請(qǐng)求響應(yīng),這個(gè)模型常見的有兩種方式,前面的處理一樣,接受方接到數(shù)據(jù)后立即回復(fù)已收到脐往,正在處理梅尤,區(qū)別在于赡盘,一種是調(diào)用方輪詢結(jié)果,另一種接收方回調(diào)。很多支付頁面就是通過回調(diào)的方式,支付成功后回調(diào)接口喷斋,通知調(diào)用方顽腾。請(qǐng)求響應(yīng)模型實(shí)際上兩者還是耦合在一起窖杀。調(diào)用方依賴于接收方管毙。

2 發(fā)布訂閱模型铆隘,訂閱者將自己注冊(cè)到裹虫,發(fā)布者的訂閱列表中砚嘴,當(dāng)發(fā)布者有消息發(fā)布是,向列表中的所有成員發(fā)送消息虾宇。因?yàn)橛嗛喺咝枰虬l(fā)布者注冊(cè)搪泳,所以他們之間還是有耦合關(guān)系艰赞,訂閱者依賴于發(fā)布者罚攀。

3 通過消息隊(duì)列是己,生產(chǎn)者發(fā)送消息到隊(duì)列上,消費(fèi)者監(jiān)聽隊(duì)列,獲取數(shù)據(jù)抹蚀。這個(gè)模型雙方是完全解耦晒来。生產(chǎn)者只管生產(chǎn)數(shù)據(jù)攒读,不用關(guān)心誰處理。而消費(fèi)者也不關(guān)心誰生產(chǎn)的數(shù)據(jù),只管消費(fèi)數(shù)據(jù)墨礁。

以上是異步通信常見的三個(gè)模型。其中二三兩用稱之為事件驅(qū)動(dòng)模型风科。他又以下好處

1 服務(wù)之間完全解耦,使得服務(wù)之間平等豫领,無狀態(tài),容易橫向擴(kuò)展實(shí)現(xiàn)高可用战惊。

2 服務(wù)的開發(fā),測(cè)試烤黍,運(yùn)維都是高度隔離的蚊荣,可以對(duì)某個(gè)服務(wù)進(jìn)行升級(jí)而不影響到其他服務(wù)。

3 不會(huì)出現(xiàn)連鎖反應(yīng)

4 容易增加一些適配器关顷,如日志平痰,限流,熔斷等

5 使得每個(gè)服務(wù)可以按照自己的處理速度進(jìn)行處理砾嫉。

事件驅(qū)動(dòng)模型也有缺點(diǎn)

1 業(yè)務(wù)流程變復(fù)雜

2 事件事件順序無法保證

3 分布式事務(wù)問題溉旋,要引入兩段式事務(wù)畸冲,或者最終一致性。

異步設(shè)計(jì)的要點(diǎn)

為什么要使用異步通信

1 服務(wù)間解耦,做到更好的隔離性邑闲,以便故障出現(xiàn)時(shí)算行,不會(huì)干擾到其他服務(wù)。

2 增加吞吐量

3 服務(wù)之間可以按照自己的處理速度工作苫耸,通過消息隊(duì)列州邢,可以做到所謂的削峰的目的,保護(hù)系統(tǒng)褪子。

4 獨(dú)立部署量淌,不影響其他服務(wù),提高開發(fā)和運(yùn)維的效率嫌褪。

設(shè)計(jì)要點(diǎn)

1 消息隊(duì)列的高可用

2 業(yè)務(wù)流程的可追蹤

3 業(yè)務(wù)狀態(tài)由總控方控制呀枢。

4 發(fā)送確認(rèn)機(jī)制,失敗重試機(jī)制笼痛,注意消息處理的冪等性裙秋。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市晃痴,隨后出現(xiàn)的幾起案子残吩,更是在濱河造成了極大的恐慌,老刑警劉巖倘核,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泣侮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡紧唱,警方通過查閱死者的電腦和手機(jī)活尊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漏益,“玉大人蛹锰,你說我怎么就攤上這事〈掳蹋” “怎么了铜犬?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長轻庆。 經(jīng)常有香客問我癣猾,道長,這世上最難降的妖魔是什么余爆? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任纷宇,我火速辦了婚禮,結(jié)果婚禮上蛾方,老公的妹妹穿的比我還像新娘像捶。我一直安慰自己上陕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布拓春。 她就那樣靜靜地躺著释簿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪硼莽。 梳的紋絲不亂的頭發(fā)上辕万,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音沉删,去河邊找鬼。 笑死醉途,一個(gè)胖子當(dāng)著我的面吹牛矾瑰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播隘擎,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼殴穴,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了货葬?” 一聲冷哼從身側(cè)響起采幌,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎震桶,沒想到半個(gè)月后休傍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹲姐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年磨取,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柴墩。...
    茶點(diǎn)故事閱讀 40,865評(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,211評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惰赋。 院中可真熱鬧宰掉,春花似錦呵哨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至挪拟,卻和暖如春挨务,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背玉组。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來泰國打工谎柄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惯雳。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓朝巫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親石景。 傳聞我的和親對(duì)象是個(gè)殘疾皇子劈猿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)潮孽,斷路器揪荣,智...
    卡卡羅2017閱讀 134,716評(píng)論 18 139
  • 消息隊(duì)列設(shè)計(jì)精要 消息隊(duì)列已經(jīng)逐漸成為企業(yè)IT系統(tǒng)內(nèi)部通信的核心手段。它具有低耦合往史、可靠投遞仗颈、廣播、流量控制椎例、最終...
    meng_philip123閱讀 1,513評(píng)論 1 25
  • “ 消息隊(duì)列已經(jīng)逐漸成為企業(yè)IT系統(tǒng)內(nèi)部通信的核心手段揽乱。它具有低耦合、可靠投遞粟矿、廣播凰棉、流量控制、最終一致性等一系列...
    落羽成霜丶閱讀 3,993評(píng)論 1 41
  • 大冰說過陌粹,生活就是扯淡撒犀,我看著也是,生活像是一場(chǎng)游戲掏秩,
    然5閱讀 540評(píng)論 0 0
  • 木筆落或舞, 湖畔老翁吹古龠, 林間黔首斫青箬蒙幻, 童孺嬉鬧尋喜鵲映凳。 魚兒樂, 亭中瀹茗獨(dú)酌邮破。
    陶然之閱讀 194評(píng)論 0 0