溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

eBay如何通過事件溯源實(shí)現(xiàn)持續(xù)交付

發(fā)布時(shí)間:2021-12-18 16:45:01 來源:億速云 閱讀:139 作者:柒染 欄目:互聯(lián)網(wǎng)科技

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)eBay如何通過事件溯源實(shí)現(xiàn)持續(xù)交付,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

eBay的持續(xù)交付團(tuán)隊(duì)通過使用以事件為中心的方法構(gòu)建了一個(gè)可以持續(xù)交付的編配器,具備故障彈性和伸縮性,以便處理eBay構(gòu)建管道中不斷增加的負(fù)載。John Long和Nataraj Sundar在兩篇博文中描述了事件溯源的好處以及在實(shí)際應(yīng)用程序開發(fā)當(dāng)中所具備的優(yōu)勢(shì)。

Long和Sundar都是eBay的員工,他們指出,事件溯源背后的想法在很多領(lǐng)域已經(jīng)存在了很長一段時(shí)間。例如,在金融會(huì)計(jì)中,每個(gè)條目都以不可變的方式記錄下來,并且通過相加所有相關(guān)條目來計(jì)算當(dāng)前余額。當(dāng)發(fā)生錯(cuò)誤時(shí),追加新的補(bǔ)償條目,而不是擦除錯(cuò)誤的條目。他們認(rèn)為,事件溯源與開發(fā)管道中的代碼進(jìn)度有著天然的相識(shí)點(diǎn)。

企業(yè)持續(xù)交付(ECD)實(shí)現(xiàn)了事件溯源。這是一個(gè)編配器,用于協(xié)調(diào)、定義和觀察部署管道,并被用在許多內(nèi)部系統(tǒng)中。部署管道通過拉取請(qǐng)求、構(gòu)建、測試和部署的方式來移動(dòng)代碼。管道執(zhí)行服務(wù)(PES)是ECD的一個(gè)組件,一種運(yùn)行和跟蹤管道的服務(wù),它負(fù)責(zé)將狀態(tài)報(bào)告給GitHub。這個(gè)組件使用Scala開發(fā),并使用了actor模型框架Akka。

除了事件溯源的一般性好處之外,Long和Sundar還指出了他們?cè)赑ES中使用事件溯源的三個(gè)主要原因:

?并發(fā)。在過去,同時(shí)從管道的不同部分收到的事件之間具有竟態(tài)條件,而以串行的方式處理每個(gè)事件可以更輕松地解決并發(fā)問題。


?調(diào)試和可追溯性。由于他們是個(gè)小團(tuán)隊(duì),同時(shí)要支持許多管道,因此能夠快速找到故障原因并修復(fù)它們對(duì)他們來說至關(guān)重要。


?清晰度和正確性。編配對(duì)于公司來說至關(guān)重要,并且可能會(huì)變得非常復(fù)雜,因此他們需要高質(zhì)量和簡單且易于理解的代碼庫。將代碼拆分成幾個(gè)部分,記錄傳入的信息,計(jì)算最終模型并對(duì)模型變化做出反應(yīng),這種方式可以幫助他們實(shí)現(xiàn)上述的目的。


選擇事件溯源最大的原因是最后一點(diǎn)——清晰度和正確性。Long和Sundar認(rèn)為,對(duì)于涉及時(shí)間和狀態(tài)的復(fù)雜系統(tǒng),事件溯源是可行的解決方案。通過精心設(shè)計(jì)的模型,可以分別處理流程中的不同部分,從而使流程更易于理解。他們介紹了事件溯源的四個(gè)組件,每個(gè)組件都很容易理解,也很容易進(jìn)行修改和測試。

?驗(yàn)證傳入事件,根據(jù)需要?jiǎng)?chuàng)建和存儲(chǔ)相關(guān)內(nèi)部事件。


?按事件插入的順序處理事件,并進(jìn)行適當(dāng)?shù)囊晥D模型更新。


?在處理完事件之后持久化視圖,這樣在進(jìn)行查詢時(shí)就不需要加載和重放所有事件。


?根據(jù)狀態(tài)變更做出響應(yīng),并在讀取模型發(fā)生更新時(shí)決定該做些什么,然后啟動(dòng)新actor來執(zhí)行操作。


到目前為止,他們的系統(tǒng)已經(jīng)處理了超過220萬個(gè)事件,生成了大約200,000個(gè)運(yùn)行視圖。Long和Sundar表示,事件溯源架構(gòu)對(duì)于實(shí)現(xiàn)兼容和直觀的解決方案來說至關(guān)重要。

上述就是小編為大家分享的eBay如何通過事件溯源實(shí)現(xiàn)持續(xù)交付了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI