詳細介紹:
華翔云語電銷系統辦理
適用于教育,房產,代理記賬,裝修,增值應有盡有,029,外顯手機號等多種線路
更改事件:從數據庫生成的事件,指示狀態轉換。這些事件是更改數據捕獲所關心的。
事件 streamer 是耐用的、持久的、容錯的,不受消費者干預。在這種情況下,處理器是 dumb 類型(從某種意義上說,它僅充當消息路由器),并且客戶端 / 服務擁有以域為中心的,負責 轉儲處理器與活躍客戶端 的邏輯。這樣就避免了復雜的集成平臺,例如傳統 SOA 設計中使用的 ESB。
圖:微服務設計中的事件
微服務原理——智能消費者與啞管道
微服務社區提出了智能端點和啞管道的理念。Martin Fowler 是他稱為微服務通信的智能端點和啞管道的擁護者。統治 SOA 領域的 ESB 存在與復雜性、成本和故障排除相關的諸多問題。
異步通信協議
MQTT——消息隊列遙測傳輸(MQTT)是一項基于發布 / 訂閱的輕量級消息傳遞協議 ISO 標準,已在物聯網中廣泛使用。
AMQP——高級消息隊列協議(AMQP)是一項開放標準應用程序層協議,用于面向消息的中間件。
STOMP——簡單文本定向消息傳遞協議(STOMP)是 HTTP 上基于文本的協議,用于在服務之間交換數據。
通用消息 / 流平臺
ActiveMQ
Kafka
RabbitMQ
Redis Streams
評估標準的一些常見基準包括可用性、持久性 / 耐用性、耐用性、推 / 拉模型、可伸縮性和消費者能力。
微服務設計模式
微服務建立在獨立和自治服務、可伸縮性、低耦合 + 高內聚和容錯性等原則上。這些原則會帶來許多挑戰,包括復雜的管理和配置需求。微服務設計模式的目的是在給定的上下文中描述問題的可重用解決方案。我們將探討這些模式如何應對挑戰,以提供經過驗證的解決方案來打造更高效的微服務架構。
Saga 模式——跨多個服務維護原子性
單個事務可能會跨越多個服務。例如,在電子商務應用程序中,新訂單(與訂單服務鏈接)不應超過客戶信用額度(與客戶服務鏈接),并且貨品(與庫存服務鏈接)應處于可用狀態。這個事務根本不能使用本地 ACID 事務。
一個 saga 是一系列本地事務,這些事務可更新各個服務并發布一個消息 / 事件以觸發下一個本地事務。有任何本地事務失敗的情況下,saga 會執行一系列 補償事務,以回退先前的本地事務所做的更改,從而保持 原子性。
基于編舞(Choreography)的 saga——參與者在沒有中心化控制點的情況下交換 事件。
基于編排的 saga——一個中心化控制器告訴 saga 參與者要執行哪些本地事務。
在這兩種模式之間具體選擇哪一種,取決于工作流程的復雜性、參與者數量、耦合水平以及其他因素。