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