99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

TLDR;

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

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

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

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

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

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

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

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

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

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

確保它們是可追蹤的

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

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

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

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

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

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

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

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

    關(guān)注

    1

    文章

    528

    瀏覽量

    25986
  • 事件驅(qū)動
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    Debian和Ubuntu哪個好一些?

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

    AN29-關(guān)于DC-DC轉(zhuǎn)換器的一些想法

    電子發(fā)燒友網(wǎng)站提供《AN29-關(guān)于DC-DC轉(zhuǎn)換器的一些想法.pdf》資料免費下載
    發(fā)表于 01-08 13:57 ?0次下載
    AN29-關(guān)于DC-DC轉(zhuǎn)換器的<b class='flag-5'>一些</b><b class='flag-5'>想法</b>

    【「RISC-V體系結(jié)構(gòu)編程與實踐」閱讀體驗】-- SBI及NEMU環(huán)境

    ,運行在S模式下的操作系統(tǒng)提供引導(dǎo)和統(tǒng)的接口服務(wù)。 本書的實驗并沒有采用業(yè)界流行的OpenSBI固件,而是從零開始編寫個小型可用的SBI固件,以便從底層深入學(xué)習(xí)RISC-V體系結(jié)構(gòu)。 系統(tǒng)上電后
    發(fā)表于 11-26 09:37

    【「RISC-V體系結(jié)構(gòu)編程與實踐」閱讀體驗】-- 前言與開篇

    。 開篇 書到了以后,大概地通讀了遍,本書不僅介紹了RISC-V體系結(jié)構(gòu)一些基礎(chǔ)知識(架構(gòu)體系結(jié)構(gòu)、指令集、編譯器、鏈接器、中斷、內(nèi)存管理、虛擬化等等),而且更突出動手實踐,基于Q
    發(fā)表于 11-23 15:43

    一些常見的動態(tài)電路

    無論是模電還是數(shù)電,理論知識相對來說還是比較枯燥,各種電路原理理解清楚不算容易,換種生動形象的方式或許會增加一些趣味性,也更容易理解這些知識。下面整理了一些常見的電路,以動態(tài)圖形的方式展示。 整流
    的頭像 發(fā)表于 11-16 09:26 ?1137次閱讀
    <b class='flag-5'>一些</b>常見的動態(tài)電路

    分享一些常見的電路

    理解模電和數(shù)電的電路原理對于初學(xué)者來說可能比較困難,但通過一些生動的教學(xué)方法和資源,可以有效地提高學(xué)習(xí)興趣和理解能力。 下面整理了一些常見的電路,以動態(tài)圖形的方式展示。 整流電路 單相橋式整流
    的頭像 發(fā)表于 11-13 09:28 ?834次閱讀
    分享<b class='flag-5'>一些</b>常見的電路

    GPGPU體系結(jié)構(gòu)優(yōu)化方向(1)

    繼續(xù)上文GPGPU體系結(jié)構(gòu)優(yōu)化方向 [上],介紹提高并行度和優(yōu)化流水線的方向。
    的頭像 發(fā)表于 10-09 10:03 ?675次閱讀
    GPGPU<b class='flag-5'>體系結(jié)構(gòu)</b>優(yōu)化方向(1)

    無刷DC門驅(qū)動系統(tǒng)的體系結(jié)構(gòu)

    電子發(fā)燒友網(wǎng)站提供《無刷DC門驅(qū)動系統(tǒng)的體系結(jié)構(gòu).pdf》資料免費下載
    發(fā)表于 09-29 11:52 ?0次下載
    無刷DC門<b class='flag-5'>驅(qū)動</b>系統(tǒng)的<b class='flag-5'>體系結(jié)構(gòu)</b>

    LED驅(qū)動器應(yīng)用的一些指南和技巧

    電子發(fā)燒友網(wǎng)站提供《LED驅(qū)動器應(yīng)用的一些指南和技巧.pdf》資料免費下載
    發(fā)表于 09-25 11:35 ?0次下載
    LED<b class='flag-5'>驅(qū)動</b>器應(yīng)用的<b class='flag-5'>一些</b>指南和技巧

    名單公布!【書籍評測活動NO.45】RISC-V體系結(jié)構(gòu)編程與實踐(第二版)

    放棄本次試用評測資格! 火熱的RISC-V市場 去年,部講述 RISC-V 技術(shù)基礎(chǔ)的書在國內(nèi)市場掀起了陣學(xué)習(xí)熱潮,它就是 《RISC-V體系結(jié)構(gòu)編程與實踐》 ,這本書在豆瓣上更是獲得了 9.6
    發(fā)表于 09-25 10:08

    嵌入式系統(tǒng)的體系結(jié)構(gòu)包括哪些

    嵌入式系統(tǒng)的體系結(jié)構(gòu)通常是個復(fù)雜而精細(xì)的架構(gòu),旨在滿足特定應(yīng)用需求,同時兼顧系統(tǒng)的可靠性、效率、成本和體積等多方面因素。以下是對嵌入式系統(tǒng)體系結(jié)構(gòu)的詳細(xì)解析,包括其主要組成部分、層次結(jié)構(gòu)
    的頭像 發(fā)表于 09-02 15:25 ?3053次閱讀

    DCS分散控制系統(tǒng)的硬件體系結(jié)構(gòu)介紹

    DCS通常采用分級遞階結(jié)構(gòu),每級由若干子系統(tǒng)組成,每個子系統(tǒng)實現(xiàn)若干特定的有限目標(biāo),形成金字塔結(jié)構(gòu)。考察DCS的層次結(jié)構(gòu),DCS級和控制
    的頭像 發(fā)表于 08-20 15:59 ?1505次閱讀
    DCS分散控制系統(tǒng)的硬件<b class='flag-5'>體系結(jié)構(gòu)</b>介紹

    DCS的硬件體系結(jié)構(gòu)

    考察DCS的層次結(jié)構(gòu),過程控制級和控制管理級是組成DCS的兩個最基本的環(huán)節(jié)。過程控制級具體實現(xiàn)了信號的輸入、變換、運算和輸出等分散控制功能。在不同的DCS中,過程控制級的控制裝置各不相同,如過程
    的頭像 發(fā)表于 08-08 16:04 ?1171次閱讀
    DCS的硬件<b class='flag-5'>體系結(jié)構(gòu)</b>