精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

設(shè)計事件驅(qū)動的微服務(wù)

責(zé)任編輯:editor004

作者:Jan Stenberg

2017-11-16 11:36:37

摘自:INFOQ

事件驅(qū)動的微服務(wù)是一個未受到應(yīng)有探討的領(lǐng)域,在近日舉行的μCon倫敦2017微服務(wù)大會上,Greg Young表達(dá)了這樣的觀點。把事件的相關(guān)性標(biāo)識設(shè)置為引發(fā)該事件的事件的相關(guān)性標(biāo)識

事件驅(qū)動的微服務(wù)是一個未受到應(yīng)有探討的領(lǐng)域,在近日舉行的μCon倫敦2017微服務(wù)大會上,Greg Young表達(dá)了這樣的觀點。同時,他還特別強調(diào),不應(yīng)該對所有的微服務(wù)都使用事件驅(qū)動模式。相反,他建議逐個服務(wù)進(jìn)行考察,并將事件驅(qū)動模式運用到真正能從中受益的服務(wù)上。

Greg Young是一名事件驅(qū)動專家,同時也是Event Store的首席架構(gòu)師。他認(rèn)為,在創(chuàng)建微服務(wù)系統(tǒng)時需要考慮的一個重要的設(shè)計問題是,應(yīng)該每個微服務(wù)使用一個數(shù)據(jù)庫,還是所有的微服務(wù)都訪問同一個數(shù)據(jù)庫。在存儲狀態(tài)時,比如使用一個關(guān)系型數(shù)據(jù)庫,使用一個或多個數(shù)據(jù)庫并沒有很大的不同,但是,他指出,在使用“事件庫(event source)”時,多個服務(wù)使用一個事件庫比一個服務(wù)一個事件庫要簡單許多。原因是事件排序,他還提及了Leslie Lamport及他的論文“分布式系統(tǒng)中的時間、時鐘和事件順序”。

在每個服務(wù)一個事件庫的情況下,當(dāng)服務(wù)從兩個或兩個以上的事件庫中讀取事件時,既不能保證所有的事件被以和創(chuàng)建順序相同的順序讀取,也不能保證順序和事件重放時相同。在多個服務(wù)使用一個事件庫的情況下,順序就有保證了,因為順序是確定的。這就是“線性化(linearizing)”。該技術(shù)不能讓系統(tǒng)更具擴(kuò)展性,但卻可以讓系統(tǒng)更容易推斷,Young認(rèn)為,在大多數(shù)情況下,這都比將來可能出現(xiàn)的可擴(kuò)展性問題更重要。

Young指出,對于大多數(shù)系統(tǒng)而言,線性化都是有效的,即使是在每秒處理超過10K事件的時候。對于真正的高吞吐量,也許高達(dá)每秒250K事件,尋求另外一種設(shè)計也許就是好主意了。

由于操作會跨多個微服務(wù),所以相關(guān)性和因果關(guān)系標(biāo)識可以帶來極大的好處。當(dāng)一個服務(wù)引發(fā)了一個其他服務(wù)監(jiān)聽的事件,它們就會引發(fā)自己的事件,這會使系統(tǒng)產(chǎn)生一個難以追蹤的級聯(lián)事件流。但是,通過向事件添加三個標(biāo)識(uuid)——消息標(biāo)識、相關(guān)性標(biāo)識和因果關(guān)系標(biāo)識,就可以克服這個問題。

事件創(chuàng)建時會獲得唯一的消息標(biāo)識。把事件的相關(guān)性標(biāo)識設(shè)置為引發(fā)該事件的事件的相關(guān)性標(biāo)識,事件流中相關(guān)性標(biāo)識相同的所有事件都是有著相同的根源,把因果關(guān)系標(biāo)識設(shè)置為引發(fā)該事件的事件的消息標(biāo)識,就可以找出事件發(fā)生的順序。

在理解和查找錯誤出現(xiàn)的原因時,按照正確的順序查看整體消息流的能力非常有用。這項技術(shù)也可以用于非事件驅(qū)動的系統(tǒng)中。通過增加一個審計服務(wù),監(jiān)聽所有服務(wù)引發(fā)的所有事件并存儲它們,可以獲得同樣的可能性。

在演講中,Young還討論了其他主題,包括內(nèi)存服務(wù)、復(fù)制模型及地域分布。

按照計劃,明年的大會將于2018年11月5號到6號舉行。

查看英文原文:Designing Event Sourced Microservices

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2025 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 新干县| 广昌县| 沂水县| 娄底市| 临漳县| 壤塘县| 浮山县| 敦煌市| 万年县| 大荔县| 诸城市| 麦盖提县| 洛南县| 蒙山县| 中超| 宁国市| 邵阳县| 五华县| 报价| 恭城| 临猗县| 化德县| 武清区| 黄龙县| 阿坝县| 沂源县| 怀来县| 大竹县| 建瓯市| 隆尧县| 凭祥市| 武清区| 新兴县| 伊宁市| 荆州市| 潮安县| 略阳县| 尉氏县| 姜堰市| 阳城县| 鄯善县|