微服務 事件匯流排 非同步事務Cap

2022-09-23 10:54:08 字數 1275 閱讀 8649

例如:事物 所有看到的一切都是事物,不能看到的也是事物

例如:團隊微服務,成員微服務,聚合微服務,閘道器api,認證中心等等包括類,物件

所有的事件都是事物變化的結果

事件就是指事物狀態的變化,每一次事物變化的結果都稱作為事件

就是用來管理所有的事件的一種機制就稱作為事件匯流排

包括事件發布,事件儲存,事件訂閱,事件處理的統稱

作用:事件匯流排是一種機制,它允許不同的元件彼此通訊而不彼此了解。 元件可以將事件傳送到eventbus,而無需知道是誰來接聽或有多少其他人來接聽。 元件也可以偵聽eventbus上的事件,而無需知道誰傳送了事件。 這樣,元件可以相互通訊而無需相互依賴。 同樣,很容易替換乙個元件。 只要新元件了解正在傳送和接收的事件,其他元件就永遠不會知道.

以上都是事件驅動的模式

事件和事件處理器是多對多的關係,我們通過一種機制去連線兩者之間這個機制就是事件匯流排,發布者(事件) ,訂閱者(事件處理器)

將微服務系統各元件之間進行解耦

使用業務的發展來說

事件 : 就是一些類的狀態資訊 (結果)(只要執行乙個方法就叫事件)

發布者:發布事件的角色 cap

訂閱者:訂閱消費(處理事件)事件的角色 cap

訊息傳輸器:傳輸事件的角色   訊息佇列 ===傳輸訊息====事件等於訊息 可以是 記憶體 可以是資料庫

訊息儲存器:儲存事件的角色   

azure

rabbitmq

kafaka

in memory queue 記憶體的佇列

微服務事務

事務是由一組操作組成的乙個工作單元。怎麼去理解這個問題呢?我們從現實生活中去理解 那麼事務有哪些特性呢?事務特性 原子性 事務內部的一組操作要麼同時成功,要麼同時失敗 隔離性 不同事務之間是互相不影響的 一致性 事務內部一組操作,各自操作產生的結果資料,要能夠保證都是預期的狀態 永續性 事務內部一組...

微服務非同步通訊

在微服務架構中,可能會有幾十甚至上百個微服務。在對外提供的某一項功能中,可能需要同時或依次呼叫這些服務。因此保證微服務之間通訊的穩定性是十分必要的。負載均衡 為了保證服務的可用性,同乙個服務往往會同時部署在多個服務上,為了均衡每個例項的請求壓力,我們需要乙個負載均衡方案。分布式追蹤 服務版本 每當你...

微服務之訊息匯流排

在上篇文章 微服務之配置中心 中寫到,客戶端可從服務端獲取配置資訊,當git倉庫中的配置檔案修改後,為了讓客戶端獲取最新的配置資訊,可以通過執行refresh操作進行手動重新整理。但是這樣有問題,當客戶端很多時 隨之系統的不斷擴大 如果需要每個客戶端都執行一遍,那就蛋疼了,顯然這種方案就不適合了。s...