<samp id="tdkee"></samp>

    <mark id="tdkee"><acronym id="tdkee"></acronym></mark>

  1. 免费看又黄又无码的网站_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片_日本最新免费二区三区

    ×

    微服務與無服務器知識大放送(二)

    • 作者:新網(wǎng)
    • 來源:新網(wǎng)
    • 瀏覽:100
    • 2018-05-03 13:24:03

    本示例中的命令端提供了REST API,可接受通過HTTP發(fā)送的請求。請求采取命令的形式,可以驅動對微服務所擁有的領域數(shù)據(jù)的狀態(tài)更改。簡單來說,對領域數(shù)據(jù)的任何寫入都將以命令形式從API請求流出,處理導致數(shù)據(jù)庫發(fā)生更改的操作。

     我們將一個微服務分為命令端、查詢端和事件處理器,這三個部分可以相互獨立地部署。

    <div
    命令端
     
    5895d477-f76e-4df0-9ab4-6cfe1bce80ce.jpg
    本示例中的命令端提供了REST API,可接受通過HTTP發(fā)送的請求。請求采取命令的形式,可以驅動對微服務所擁有的領域數(shù)據(jù)的狀態(tài)更改。簡單來說,對領域數(shù)據(jù)的任何寫入都將以命令形式從API請求流出,處理導致數(shù)據(jù)庫發(fā)生更改的操作。
     
    命令觸發(fā)操作,操作觸發(fā)領域事件。領域事件保存在事件存儲中,也就是“一個將數(shù)據(jù)庫與消息代理相結合的系統(tǒng)。”最合適入門使用的事件存儲是Eventuate,是由Chris Richardson創(chuàng)建的項目,旨在幫助將CQRS和Event Sourcing應用到微服務。
     
    領域事件存儲為按時間順序排列的一系列事件,附加在日志上。由于每個命令都生成一個事件,我們能夠根據(jù)收集的事件歷史記錄重新構建當前系統(tǒng)的總體狀態(tài)。
     
    事件處理器
     
    我們要探討的下一個組件是事件處理器。這個CQRS組件采用Worker應用的形式,負責攝取領域事件。事件處理器是無狀態(tài)的,并偵聽來自事件存儲的消息,對傳入的事件消息采取操作。
     
    事件處理器可通過很多有用的方式對新的領域事件作出響應。一個領域事件可以生成多個事件,這些事件可以發(fā)送到其他微服務。這就是為什么大多數(shù)微服務開發(fā)人員都被CQRS吸引,因為通過這種方法可以發(fā)布和訂閱來自限界環(huán)境之外的應用的領域事件。
     
    這種方法為我們提供了一種機制,可確保領域數(shù)據(jù)的引用完整性。來自其他微服務的消息可用來處理領域事件,從而讓我們能夠維護分布式系統(tǒng)中與其他記錄的領域數(shù)據(jù)相關的惱人的外鍵關系。
     
    查詢端
     
    事件處理器首要負責應用可改變領域整合狀態(tài)的領域事件。每個領域事件都可用來更新數(shù)據(jù)庫記錄,形成描述整合的增量實體化視圖。反過來,查詢端將提供一個REST API,允許HTTP客戶端讀取從已處理事件生成的實體化視圖。
     
    查詢端組件中的限制是領域數(shù)據(jù)是只讀的。此系統(tǒng)中的所有狀態(tài)更改都會從命令端流入,然后形成可在查詢端讀取的實體化視圖。
     

    免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,也不承認相關法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)送郵件至:operations@xinnet.com進行舉報,并提供相關證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。

    免費咨詢獲取折扣

    Loading
    国产精品视频白浆免费视频_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片

    <samp id="tdkee"></samp>

      <mark id="tdkee"><acronym id="tdkee"></acronym></mark>