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

設(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>
      主站蜘蛛池模板: 苍梧县| 玉门市| 花莲市| 西平县| 中超| 射阳县| 桦川县| 南京市| 呼玛县| 霍州市| 南宫市| 比如县| 福建省| 安岳县| 临猗县| 封开县| 会宁县| 当涂县| 应城市| 贵阳市| 柞水县| 边坝县| 天全县| 北海市| 麻城市| 长乐市| 峨山| 甘泉县| 蒙山县| 洪泽县| 高雄市| 枣阳市| 彰化县| 金湖县| 沙坪坝区| 黔南| 房产| 苗栗县| 沧源| 台北县| 手机|