91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

事件驅(qū)動(dòng)的體系結(jié)構(gòu)的一些想法

汽車玩家 ? 來(lái)源:今日頭條 ? 作者:聞數(shù)起舞 ? 2020-05-03 18:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文只是有關(guān)事件驅(qū)動(dòng)的體系結(jié)構(gòu)的一些想法。 這里沒有代碼,只有觀察和建議。 明確地說(shuō),我將使用事件驅(qū)動(dòng)一詞,但如果您閱讀上面的Wikipedia參考,則會(huì)發(fā)現(xiàn)我也錯(cuò)誤地混入了消息驅(qū)動(dòng)系統(tǒng)。

TLDR;

這是關(guān)于復(fù)雜性的討論,顯然是說(shuō),強(qiáng)大的力量伴隨著巨大的責(zé)任。

基于事件的架構(gòu)

基于事件的體系結(jié)構(gòu)范式的核心是事件的產(chǎn)生,檢測(cè),消耗和反應(yīng)的解耦。它們應(yīng)該在反映這一點(diǎn)的代碼中進(jìn)行組織,即與生產(chǎn),檢測(cè),消耗和反應(yīng)相關(guān)的代碼應(yīng)分別分組,并且通常還通過多個(gè)應(yīng)用程序進(jìn)行分發(fā)。盡管事情是有條理的,并且肯定有明確的因果關(guān)系,但通過系統(tǒng)的分派機(jī)制進(jìn)行的每次轉(zhuǎn)換都會(huì)充當(dāng)信息壁壘。在許多體系結(jié)構(gòu)中,如果您從第一段代碼開始,則可以跟蹤在給定情況下從頭到尾遵循的代碼路徑,通??梢允褂谜{(diào)試器實(shí)時(shí)進(jìn)行。使用基于事件的系統(tǒng),通過事件分配器的第一跳更有可能使您感冒。您立即面臨一個(gè)問題,即許多現(xiàn)有的聽眾/訂戶中的哪些人將對(duì)事件做出響應(yīng),他們是否都在此過程中進(jìn)行響應(yīng),是否可以保證收據(jù),以及確定性發(fā)生的順序?

它實(shí)際上是一個(gè)公開喊價(jià)(outcry)系統(tǒng),在通常情況下,出價(jià)(通話)和要約(響應(yīng))易于觀察和配對(duì),但是在混亂的時(shí)期,以觀察員的身份進(jìn)行的所有呼喊變得幾乎不可能。

我指的是我正在替換的當(dāng)前事件驅(qū)動(dòng)系統(tǒng),稱為彈球機(jī),因?yàn)榍驎?huì)大量涌入,在周圍瘋狂反彈,有的會(huì)導(dǎo)致獎(jiǎng)品彈出,而有的則會(huì)消失殆盡。 您必須是粒子物理學(xué)家才能認(rèn)為系統(tǒng)是可預(yù)測(cè)的和可理解的。

級(jí)聯(lián)混沌的真實(shí)示例

我記得讀過一次關(guān)于航空公司系統(tǒng)停機(jī)的事后調(diào)查,我相信那是英國(guó)航空公司的UPS故障,恢復(fù)工作花了幾天的時(shí)間。為什么?他們的系統(tǒng)都是事件驅(qū)動(dòng)的,并掛在一條通用的消息總線上。隨著時(shí)間的流逝以及通過企業(yè)收購(gòu),IT系統(tǒng)的有機(jī)增長(zhǎng)意味著他們根本不知道到底在聽什么,而且系統(tǒng)實(shí)施在容錯(cuò)方面也不一致。許多系統(tǒng)需要重新啟動(dòng)以重新建立通信,并且盡管UI可以快速檢測(cè)和處理,但在不能解決所有問題時(shí),他們顯然會(huì)蠻力地"重新啟動(dòng)所有"。但是,由于系統(tǒng)之間的相互依賴性以及幾乎同時(shí)進(jìn)行的重啟,因此并非所有重啟均能正常工作。只是隨著時(shí)間的流逝,通過注意到非功能性功能才發(fā)現(xiàn)了一些問題。例如,也許您可以預(yù)訂航班,選擇座位,登記行李,但行李標(biāo)簽不會(huì)在希思羅機(jī)場(chǎng)的柜臺(tái)打印。因此,他們必須確定應(yīng)該發(fā)生什么事件鏈,哪些鏈斷裂了,沒有發(fā)生什么事件反應(yīng)以及最后應(yīng)該由哪個(gè)系統(tǒng)執(zhí)行。

我是否要注意事件驅(qū)動(dòng)系統(tǒng)?

不。它們功能強(qiáng)大,并且在許多情況下絕對(duì)是正確的解決方案。 哎呀,我們正在用另一種事件驅(qū)動(dòng)的架構(gòu)替換彈球機(jī)。 什么?! 是的,這是我們方案中的正確工具。

因此,如果我不是說(shuō)不使用事件驅(qū)動(dòng)的體系結(jié)構(gòu),那是什么意思?

確保它們是可追蹤的

從第零天開始進(jìn)行跟蹤和恢復(fù):

· 將關(guān)聯(lián)標(biāo)識(shí)符和發(fā)起者信息維護(hù)到事件中。

· 統(tǒng)一審核/記錄命令和事件。

· 請(qǐng)勿使用Blob或任何方案文本(如JSON)。 您希望始終使用通用語(yǔ)言,因?yàn)樵S多分布式部分正在監(jiān)聽。 集中定義事件,并在所有地方使用這些定義。 您想知道更改對(duì)整個(gè)系統(tǒng)的影響。 提前計(jì)劃事件的演變變化。 在可能的情況下,請(qǐng)避免對(duì)現(xiàn)有字段進(jìn)行結(jié)構(gòu)更改,而應(yīng)采用"狂暴/吹掃"方法,在這種情況下,您僅進(jìn)行累加并直到要清理。

· 研究Zipkin和監(jiān)視工具之類的東西,以顯示跟蹤信息。

· 如果另一個(gè)系統(tǒng)取決于您的事件,但又不能訂閱您的調(diào)度程序,而是從某個(gè)持久性日志中掃描事件,請(qǐng)確保它們也遵循這些規(guī)則,不要在異構(gòu)邊界上停止這些最佳做法。

這些建議似乎過于嚴(yán)格,但是我一次又一次地看到人們認(rèn)為他們可以在獲得一定收入后再解決這些問題,然后當(dāng)問題確實(shí)出現(xiàn)時(shí),發(fā)現(xiàn)沒有APM或快速解決方案可以追溯地真正修復(fù)生態(tài)系統(tǒng)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    532

    瀏覽量

    26593
  • 事件驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    6932
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    從架構(gòu)到驅(qū)動(dòng):這三本經(jīng)典書,承包了我的嵌入式Linux入門與進(jìn)階

    作為個(gè)深耕嵌入式領(lǐng)域的開發(fā)者,書架上總有幾本“壓箱底” 的書 —— 它們既是新手入門的燈塔,也是老手復(fù)盤的手冊(cè)。今天想和大家聊聊幾本經(jīng)典的書,《ARM64 體系結(jié)構(gòu)編程與實(shí)踐》《鳥哥的 Linux
    的頭像 發(fā)表于 02-09 17:02 ?1165次閱讀

    操作系統(tǒng)體系結(jié)構(gòu)

    操作系統(tǒng)的體系結(jié)構(gòu)個(gè)開放的問題。正如上文所述,操作系統(tǒng)在核心態(tài)為應(yīng)用程序提供公共的服務(wù),那么操作系統(tǒng)在核心態(tài)應(yīng)該提供什么服務(wù)、怎樣提供服務(wù)?有關(guān)這個(gè)問題的回答形成了兩種主要的體系結(jié)構(gòu):大內(nèi)核和微
    發(fā)表于 01-15 08:19

    爬壁機(jī)器人磁鐵的一些常見問題

    爬壁機(jī)器人近幾年比較火,它是類能夠在垂直墻面、天花板、傾斜表面上移動(dòng)和作業(yè)的特種機(jī)器人,今天我們不聊其它,只聊下關(guān)于磁吸附應(yīng)用中的磁鐵,以下是小編整理的關(guān)于爬壁機(jī)器人中磁鐵的一些常見問題。
    的頭像 發(fā)表于 01-09 10:06 ?273次閱讀
    爬壁機(jī)器人磁鐵的<b class='flag-5'>一些</b>常見問題

    C語(yǔ)言中一些令人震驚的結(jié)構(gòu)介紹

    C語(yǔ)言同意一些令人震驚的結(jié)構(gòu),下面的結(jié)構(gòu)是合法的嗎,如果是它做些什么? int a = 5, b = 7, c; c = a+++b; 考察點(diǎn): 這個(gè)問題將作為這個(gè)測(cè)驗(yàn)的
    發(fā)表于 12-23 08:15

    關(guān)于六類網(wǎng)線一些問題的解答

    今天我們就圍繞網(wǎng)友一些常見的關(guān)于六類網(wǎng)線的問題進(jìn)行下匯總式解答: 問 六類網(wǎng)線可以當(dāng)電源用嗎? 答 六類網(wǎng)線并不是設(shè)計(jì)用于傳輸電力的電纜,因此般不建議將其用于電源傳輸。 盡管六類網(wǎng)線的線芯可以
    的頭像 發(fā)表于 12-09 11:13 ?565次閱讀

    貼片電容精度J±5%的一些詳細(xì)知識(shí)

    貼片電容精度J±5%表示電容的實(shí)際值與標(biāo)稱值之間的偏差范圍在±5%以內(nèi) ,以下是關(guān)于貼片電容精度J±5%的一些詳細(xì)知識(shí): 、精度等級(jí)含義 J±5% :字母“J”在貼片電容的標(biāo)識(shí)中通常表示標(biāo)稱精度
    的頭像 發(fā)表于 11-20 14:38 ?652次閱讀
    貼片電容精度J±5%的<b class='flag-5'>一些</b>詳細(xì)知識(shí)

    蜂鳥E203的浮點(diǎn)指令集F的一些實(shí)現(xiàn)細(xì)節(jié)

    蜂鳥E203的浮點(diǎn)指令集F的一些實(shí)現(xiàn)細(xì)節(jié) 既然E203不是多發(fā)射,且為了節(jié)省面積,一些指令使用FPU內(nèi)的同個(gè)子模塊來(lái)執(zhí)行,即FPU同時(shí)只能進(jìn)行種計(jì)算,我們只在FPU內(nèi)部署了11個(gè)
    發(fā)表于 10-24 08:57

    射頻工程師需要知道的一些常見轉(zhuǎn)接頭

    ,是由于轉(zhuǎn)接頭的損壞造成的,而且有些接頭的連接固定的方式不對(duì),每次修好的儀器,過去后客戶又按照他們?cè)瓉?lái)的方式去擰緊了。特別是在一些生產(chǎn)型的企業(yè),由于操作人員流動(dòng)性比較
    的頭像 發(fā)表于 08-06 17:39 ?1225次閱讀
    射頻工程師需要知道的<b class='flag-5'>一些</b>常見轉(zhuǎn)接頭

    DPU核心技術(shù)論文再次登陸體系結(jié)構(gòu)領(lǐng)域旗艦期刊《IEEE Transactions on Computers》

    近期,鄢貴海團(tuán)隊(duì)研究成果在計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域國(guó)際頂級(jí)期刊《IEEE Transactions on Computers》中發(fā)表。該研究主要圍繞KPU敏捷計(jì)算架構(gòu)展開,KPU具有超強(qiáng)異構(gòu)核集成和調(diào)度
    的頭像 發(fā)表于 06-11 18:11 ?657次閱讀
    DPU核心技術(shù)論文再次登陸<b class='flag-5'>體系結(jié)構(gòu)</b>領(lǐng)域旗艦期刊《IEEE Transactions on Computers》

    關(guān)于芯片設(shè)計(jì)的一些基本知識(shí)

    芯片的設(shè)計(jì)理念眾所周知,芯片擁有極為復(fù)雜的結(jié)構(gòu)。以英偉達(dá)的B200芯片為例,在巴掌大的面積上,塞入了2080億個(gè)晶體管。里面的布局,堪稱個(gè)異次元空間級(jí)的迷宮。英偉達(dá)B200芯片如此復(fù)雜的架構(gòu)
    的頭像 發(fā)表于 06-11 12:16 ?1215次閱讀
    關(guān)于芯片設(shè)計(jì)的<b class='flag-5'>一些</b>基本知識(shí)

    睿創(chuàng)微納AI芯片技術(shù)登上國(guó)際計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域頂級(jí)會(huì)議

    近日,國(guó)際計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域頂級(jí)會(huì)議HPCA 2025(International Symposium on High-Performance Computer Architecture)在美國(guó)召開。會(huì)議共收到534篇來(lái)自全球頂尖科研機(jī)構(gòu)及高校的論文投稿,最終錄用率僅為21%。
    的頭像 發(fā)表于 05-19 15:57 ?972次閱讀

    Debian和Ubuntu哪個(gè)好一些?

    兼容性對(duì)比Debian和Ubuntu哪個(gè)好一些,并為您揭示如何通過RAKsmart服務(wù)器釋放Linux系統(tǒng)的最大潛能。
    的頭像 發(fā)表于 05-07 10:58 ?1151次閱讀

    如何添加一些網(wǎng)絡(luò)上的庫(kù)到mpy固件的說(shuō)明或手冊(cè)教程?

    下有沒有關(guān)于如何添加一些網(wǎng)絡(luò)上的庫(kù)到mpy固件的說(shuō)明或手冊(cè)教程? 問題2: 關(guān)于mpy的image庫(kù)在哪里能了解學(xué)習(xí)內(nèi)部代碼,只了解一些python,想知道怎么從c轉(zhuǎn)換成mpy能調(diào)用的,自己寫的c也能轉(zhuǎn)成py調(diào)用
    發(fā)表于 04-29 08:16

    樹莓派在自動(dòng)化控制項(xiàng)目中的一些潛在應(yīng)用

    自動(dòng)化控制項(xiàng)目中的一些潛在應(yīng)用。之前,我們已經(jīng)為Arduino平臺(tái)探討了相同的話題。我們確定Arduino是個(gè)出色的教育工具,但由于一些限制,它無(wú)法在工業(yè)環(huán)境中完全
    的頭像 發(fā)表于 03-25 09:45 ?625次閱讀
    樹莓派在自動(dòng)化控制項(xiàng)目中的<b class='flag-5'>一些</b>潛在應(yīng)用

    收藏的一些庫(kù)存,直流無(wú)刷技術(shù)+源碼+論文(建議打包)

    這也是我網(wǎng)絡(luò)上淘過來(lái)收藏的一些資料,免費(fèi)跟大家起分享下,建議下載哦,收藏不易
    發(fā)表于 03-17 20:17