精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

微服務分布式一致性模式

開發 開發工具 分布式
分布式強一致的數據庫不能解決業務邏輯拆分帶來的分布式一致性問題,我們還得繼續糾結如何解決業務分布式一致性的問題。

微服務拆分后遇到的一個麻煩是分布后的一致性問題。單體架構的業務處理和數據都在一個進程里面,一致性保障很成熟,開發人員基本上不用關心。當把業務系統拆分到不同進程時,就遇到了技術性一致性問題。這帶來了糾結,我們希望有一顆銀彈,一把解決問題。但由于分布式一致性在(CAP)理論上沒有完美的解決方案,我們所能選擇的方案是在特定業務場景下的選擇。

我們這里討論的分布是指業務邏輯上做了拆分導致的分布,而不是數據量特別大導致的分布。

如果業務上不拆分,數據量特別大需要做分布,可以選擇支持大數據的分布式數據庫。可以選擇Cassandra, MongoDB等NoSQL,或者TiDB這類支持SQL的分布式方案。

如果業務上進行了拆分,不論選什么數據庫都不能解決分布式一致性問題。把數據庫或者分布式數據庫看成是一個系統,能處理一個外部請求在數據庫內部的分布式問題,但不能處理多個外部請求的一致性問題。

分布式強一致的數據庫不能解決業務邏輯拆分帶來的分布式一致性問題,我們還得繼續糾結如何解決業務分布式一致性的問題。

首先我把微服務分布式一致性問題分為數據共享一致性和業務交易一致性問題。

一、數據共享一致性

在單體架構的時候用同一個數據庫,不存在數據共享問題。微服務強調要獨立數據庫,引起數據如何共享的問題。

數據共享分為拉和推兩種模式,拉指消費者去供應商那邊拉數據,推指供應商主動把數據推到消費者面前。

1. 拉-視圖共享

對于一般的企業信息系統,數據量不大,并發需求也不大,我建議所有的微服務用同一個數據庫實例,但是拆分在不同的Schema。這樣的好處是在業務邏輯上數據庫是獨立的,也可以獨立演進。然后數據庫又可以集中管理。這個方案對于大型遺留系統拆分尤其適用,因為原本就是在一個庫里面,為了業務更好的獨立演進進行數據庫Schema拆分,又能延續原有的數據庫實例管理技術。由于不同的微服務實際運行在同一個數據庫實例上,可以簡單地建視圖進行數據共享。

需要注意的是,不要拉整個表出去,根據需要選擇幾個字段。這種模式技術上簡單,壞處有兩個:一是由于視圖同步的數據是實時的,應用可能基于實時同步數據的假設進行設計,會導致以后做分布式擴展的時候特別困難;二是視圖很容易暴露出表結構,這需要特別加強對視圖的設計和結構管理,讓暴露出去的視圖不要直接綁定在現有的表結構上。視圖所需的字段是外部需要,而不是表上面有什么。這樣視圖就是接口,只不過是強耦合在特定的數據庫實例上。

2. 拉-API獲取

微服務最推薦的方式是服務方提供數據API,消費者需要的時候去拉取。好處是消費者和供應方技術上完全解耦,壞處是提高了開發成本。如果消費者使用API方式獲取所需數據,建議使用異步Stream方式進行編程。 如果一次業務請求需要拉取多個數據源,不建議用同步的方式調用,因為會延長處理時間。建議使用reactiveX模式進行異步拉取和組裝 。

3. 推-事件消息

發生事件時發送消息是DDD CQRS模式,即解決了消費者要擁有數據用的爽快的問題(根據需要建立本地數據結構、獲取性能和方式), 也解決了數據庫技術異構的問題。帶來的問題是需要一個消息平臺,并且消費者或者供應方都要耦合在一個消息平臺技術上。對于大型遺留系統改造不是很友好,一方面遺留系統的消息平臺往往不符合高并發大數據量的性能要求,另一方面對于新的微服務也不想依賴老的消息平臺,而想要用Kafka這樣的互聯網高并發輕量的消息平臺。

4. 數據共享一致性選擇總結:

對于遺留系統改造和數據量不大(日交易量不超過百萬)的應用,建議使用不同微服務創建不同Schema,但用同一個數據庫實例,然后通過視圖的方式進行數據共享。

如果有些業務數據量非常大又需要共享,使用API共享,利用異步Stream編程進行數據共享。

如果微服務平臺技術設施成熟,可以使用推送事件消息模式, 既解決共享數據消費便利性問題,又解決數據結構解耦,并且使用輕量消息平臺(Kafka)只是有輕度的技術耦合。

二、業務交易分布式一致性

業務交易分布式一致性指一次請求,但分布在不同的微服務系統處理,引發一致性協調的問題。

交易分布式一致性分為補償模式,二次提交模式和Saga模式。

1. 補償模式

補償模式主要是通過重試達到最后的成功,僅適用于交易請求在業務上必須沒有失敗的場景。

補償模式用的最普遍的是消息投遞,假設給A發消息,如果沒有收到A確認消息已收到,就繼續發送,直到A確認收到消息為止。

有很多業務可以變成必須成功的交易。比如下訂單付款,如果先確認訂單再去扣款,就有可能因為賬戶沒錢扣款不成功,導致業務上的失敗。如果業務改成先扣款再去確認訂單,那可以認為訂單必須要確認成功。通過業務順序的調整來實現一個交易必須成功的情境。在技術實現上比較簡單,利用一個任務隊列跟蹤任務的完成狀態,來決定重試。補償模式對API的要求是必須要冪等,因為有可能任務已經成功了,但消費者不知道,再次發出任務請求。

2. 二次提交模式

由于補償模式需要對業務進行調整,適用范圍也比較小,我們還是希望有個通用的分布式一致性方案。

最有名的應該是二次提交模式,更具體點是TCC(Try,Confirm,Cancel)。先發起try請求讓業務任務參與方做好處理準備,等所有的參與方都做好準備后,再發出confirm進行確認。因為所有的業務參與方都事前做好了準備,在confirm階段可以確保一次性成功。

如果有某個參與方識別,則發cancel進行回滾。這種模式和數據的事務管理基本一樣,像Java的JTA實現Automikos就是從支持數據庫事務,也支持REST API。二次提交雖然能解決事務一致性問題,但成本比較高。一個業務處理必須要拆分為準備和確認執行兩個階段,對業務設計要求和開發成本都比較高。

3. Sagas模式

Sagas模式在補償模式和二次提交模式,既簡單又能廣泛支持分布式事務場景。二次提交模式基于悲觀鎖,所以先要求任務參與方都做好準備,然后再做執行。

Saga和補償模式是基于樂觀鎖,先讓任務參與方執行,如果執行沒響應則要求再次執行。Saga給參與方發出任務后會記錄一個event(Saga的中文翻譯可以是事跡),所有event都會持久化。如果某個參與方執行失敗,再發出cancel請求要求所有參與方回退。因為大部分交易請求是成功,這種基于樂觀鎖的協調機制能達成一致性目的,并降低了開發成本,業務設計上也比較容易理解。

目前支持Saga的Java框架有華為開源的servicecomb saga,京東已經有些線上系統用了。還有做CQRS的框架axoniq也實現了saga。

【本文為51CTO專欄作者“張逸”原創稿件,轉載請聯系原作者】

戳這里,看該作者更多好文

 

責任編輯:趙寧寧 來源: 51CTO 專欄
相關推薦

2019-10-11 23:27:19

分布式一致性算法開發

2021-11-22 16:30:30

分布式一致性分布式系統

2017-09-21 10:59:36

分布式系統線性一致性測試

2024-11-28 10:56:55

2021-07-28 08:39:25

分布式架構系統

2021-06-03 15:27:31

RaftSOFAJRaft

2022-06-07 12:08:10

Paxos算法

2017-04-06 11:59:19

分布式服務化系統

2021-06-06 12:45:41

分布式CAPBASE

2017-09-22 12:08:01

數據庫分布式系統互聯網

2020-10-28 11:15:24

EPaxos分布式性算法

2023-11-06 09:06:54

分布式一致性數據

2020-05-11 10:30:57

2PC分布式協議

2021-06-16 08:33:02

分布式事務ACID

2018-03-19 09:50:50

分布式存儲系統

2021-08-13 11:50:23

AnalyticDB 分布式數據庫

2025-03-14 08:00:00

分布式系統服務器一致性

2020-02-25 23:39:11

架構運維技術

2025-11-11 02:11:00

微服務分布式事務

2024-05-27 10:42:55

點贊
收藏

51CTO技術棧公眾號

国产农村妇女毛片精品久久| 极品人妻一区二区三区| 成人在线网址| 国产精一品亚洲二区在线视频| 中文字幕九色91在线| 国产永久免费网站| 在线电影福利片| 成人a免费在线看| 国产91ⅴ在线精品免费观看| 欧美18—19性高清hd4k| 六九午夜精品视频| 亚洲一区免费视频| 欧美激情国产日韩| 在线播放一级片| 一区二区三区四区在线观看国产日韩| 欧美电影免费观看完整版| 国产一级爱c视频| 丁香在线视频| 国产91综合网| 国产99久久精品一区二区| 91n在线视频| 黄色欧美在线| 欧日韩精品视频| 强开小嫩苞一区二区三区网站| 欧美一区二区三区黄片| 日韩在线a电影| 欧美插天视频在线播放| 中文字字幕码一二三区| 四虎在线精品| 狠狠躁夜夜躁人人爽超碰91| 亚洲国产精品一区二区第一页 | 国产亚洲欧美久久久久| 国产探花在线精品一区二区| 日韩欧美一区中文| 久久精品免费网站| 不卡专区在线| 日韩一区有码在线| 欧美一二三区| 风流少妇一区二区三区91| 日韩精品免费视频人成| 韩国美女主播一区| 午夜精品一区二区三区视频| 精品九九在线| 日韩精品视频免费专区在线播放| 97免费公开视频| 日韩和的一区二在线| 亚洲成人综合视频| 天天做天天爱天天高潮| 69久久精品| 久久这里只有精品视频网| 波多野结衣成人在线| 夜夜嗨av禁果av粉嫩avhd| 性久久久久久| 久久人人爽人人爽人人片av高清| 天天鲁一鲁摸一摸爽一爽| 国产一区二区区别| 亚洲奶大毛多的老太婆| 国产伦精品一区二区免费| www.久久99| 欧美日韩成人激情| 少妇黄色一级片| 写真福利精品福利在线观看| 婷婷开心激情综合| 超碰成人免费在线| xxxx在线视频| 亚洲电影第三页| 国产 欧美 日本| caoporn免费在线| 专区另类欧美日韩| 中文字幕在线观看一区二区三区| 亚洲精品国产精品国自产观看浪潮 | 91高潮精品免费porn| 久久视频免费在线观看| 影音先锋国产精品| 久久久久久久久久国产精品| 久久免费视频99| 激情欧美日韩| 久久久久国产视频| 欧美一二三区视频| 亚洲一区观看| 日本午夜在线亚洲.国产| 午夜影院免费在线观看| 日韩激情一区二区| 国产综合香蕉五月婷在线| 亚洲一区二区人妻| 国产美女精品在线| 99视频在线播放| 免费国产精品视频| 久久免费的精品国产v∧| 日本一区二区三区免费看| av片在线看| 亚洲日本在线观看| 成人免费网站入口| 中文字幕人成乱码在线观看| 色偷偷久久人人79超碰人人澡| 男女视频一区二区三区| 免费成人高清在线视频| 欧美一区在线视频| 黄色av网址在线观看| 亚洲专区视频| 久久国产一区二区三区| 国产亚洲小视频| 蜜桃视频一区| 成人免费视频网址| 色窝窝无码一区二区三区| 久久久久久99久久久精品网站| 亚洲精品第一区二区三区| 91亚洲天堂| 狠狠色狠狠色综合日日小说| 免费看涩涩视频| theporn国产在线精品| 亚洲偷欧美偷国内偷| 91久久国产综合| 中文日韩欧美| 成人激情在线观看| 亚洲aaa在线观看| 一区在线播放视频| 香港三级韩国三级日本三级| 黄色成人小视频| 精品国产青草久久久久福利| 国产精品久久免费观看| 好看的亚洲午夜视频在线| 国产精品国产三级国产aⅴ9色| 国内老熟妇对白hdxxxx| 国产日韩精品视频一区| 欧美又粗又长又爽做受| 欧美日韩五区| 亚洲高清一区二| 国产一区在线观看免费| 夜夜嗨网站十八久久| 亚洲a∨日韩av高清在线观看| 天堂a中文在线| 亚洲黄色免费网站| 天天干天天草天天| 亚洲成a人片77777在线播放| 欧美精品在线免费播放| 中文字幕av久久爽| 99国产精品99久久久久久| 777久久精品一区二区三区无码| 日韩不卡免费高清视频| 亚洲国产高清高潮精品美女| 波多野结衣在线网址| 久久午夜电影| 精品一区二区三区日本| 欧美韩日亚洲| 欧美一区二区三区男人的天堂| www.黄色在线| 美女诱惑一区| 久久青青草综合| gratisvideos另类灌满| 日韩区在线观看| 四虎884aa成人精品| 青草国产精品久久久久久| 欧美激情第一页在线观看| 九色porny丨国产首页在线| 精品少妇一区二区| 欧美精品一级片| 国产一区在线观看视频| 影音先锋亚洲视频| 日韩在线电影| 最近2019中文字幕一页二页| 国产免费一级视频| 久久在线免费观看| 国产情侣av自拍| 奇米狠狠一区二区三区| 国产成人精品一区| 久青草国产在线| 日本精品一级二级| 老熟妇一区二区| 日韩精品免费专区| 亚洲午夜精品久久久久久浪潮| 色豆豆成人网| 中文字幕视频在线免费欧美日韩综合在线看 | 国产色噜噜噜91在线精品| 久久免费精品视频| 黄色av小说在线观看| 午夜电影一区二区| 黄色国产在线观看| 老司机免费视频久久| 日本高清一区| 精品九九久久| 久久久999精品| 亚洲a视频在线| 午夜在线电影亚洲一区| 久久久精品人妻无码专区| 日日夜夜精品视频天天综合网| 老牛影视免费一区二区| 日韩精品影院| 久久精品国产欧美激情| 国产av精国产传媒| 亚洲va国产va欧美va观看| 特级西西人体wwwww| 丝袜亚洲精品中文字幕一区| 亚洲国产高清国产精品| 日韩在线观看一区二区三区| 2019中文字幕在线| 大片免费播放在线视频| 91精品国产综合久久久蜜臀粉嫩 | 日韩精品欧美在线| 疯狂欧洲av久久成人av电影| 国产69精品久久久久99| 黄色av免费在线观看| 欧美一区二区三区视频在线| 国产午夜视频在线播放| 国产欧美日韩三级| 91精产国品一二三| 久久先锋影音| 欧美美女黄色网| 亚洲精品亚洲人成在线| 91热精品视频| 亚洲精品福利电影| 欧美成人在线网站| 国产日本在线| 精品国产伦一区二区三区观看方式| 亚洲精品午夜国产va久久成人| 国产精品人妖ts系列视频| 男男一级淫片免费播放| 蜜臀99久久精品久久久久久软件 | 99av国产精品欲麻豆| 亚洲国产一区在线| 农村少妇一区二区三区四区五区| 国产精品香蕉国产| 狠狠躁少妇一区二区三区| 色婷婷综合成人| 日韩三级电影网| 日韩精品一区二区三区视频播放 | 欧美日韩在线综合| 日韩av在线播| 亚洲日本va在线观看| 国产三级av在线播放| 成人黄页毛片网站| 亚洲精品在线网址| 日本中文字幕一区二区有限公司| 日韩中字在线观看| 欧美不卡高清| 亚洲制服中文| 国内精品久久久久久久久电影网 | 肉色超薄丝袜脚交69xx图片| 97国产一区二区| 麻豆tv在线观看| 国产一区二区精品久久91| 久久久久国产一区| 日韩高清国产一区在线| 亚洲欧洲日产国码无码久久99| 欧美日韩国产高清| 久久最新免费视频| 99免费精品| 亚洲五月六月| 精品久久91| 日本一区二区久久精品| 欧美美乳视频| 欧美人与物videos另类| 欧美a级网站| 精品乱码一区二区三区| 国产精品对白久久久久粗| 亚洲jizzjizz日本少妇| 白嫩亚洲一区二区三区| 国产主播精品在线| 日本国产一区| 91精品国产综合久久香蕉922| 91av一区| 国产精品综合网站| 日韩电影精品| 成人免费网站在线观看| 91亚洲精品在看在线观看高清| 国产日韩中文字幕在线| 欧美高清影院| 成人免费黄色网| 日韩精品久久久久久久软件91| 97se视频在线观看| 亚洲视频国产| 国产精品手机视频| 日韩大尺度在线观看| 蜜桃成人在线| 欧美色爱综合| 中文字幕一区二区三区有限公司 | 亚洲男人av在线| 牛牛影视精品影视| 中文字幕av一区| 免费高清在线观看| 九九久久综合网站| 99riav视频在线观看| 欧美亚洲伦理www| 桃子视频成人app| 国产一区红桃视频| 一级毛片精品毛片| 久久免费看av| 成人情趣视频| 免费看日b视频| 99综合视频| 天天操天天爱天天爽| 日本91福利区| 日本wwwxx| 久久这里只有精品6| 五月天免费网站| 洋洋成人永久网站入口| 91精品国产综合久久久蜜臀九色 | 青青草综合视频| 亚洲国内自拍| 麻豆三级在线观看| 成人黄色小视频在线观看| 国产夫妻性爱视频| 亚洲视频香蕉人妖| 国产精品成人aaaa在线| 欧美性少妇18aaaa视频| 国产免费视频一区二区三区| 亚洲国产天堂网精品网站| av一区在线观看| 欧美丰满少妇xxxxx| 日韩不卡在线| 成人国产一区二区| 成人同人动漫免费观看| 日本五级黄色片| 日韩成人一级片| 国产av一区二区三区传媒| 国产欧美精品区一区二区三区 | 亚洲国产日韩一区二区| 国产女优在线播放| 亚洲电影第1页| 日本www在线观看| 欧美在线视频一区二区| 欧美久久一区二区三区| 欧美一级爽aaaaa大片| 激情亚洲网站| 不卡中文字幕在线观看| 91麻豆福利精品推荐| 黄色一级片在线免费观看| 欧美网站大全在线观看| 色猫av在线| 欧美激情手机在线视频 | 草逼视频免费看| 中国人与牲禽动交精品| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 强伦人妻一区二区三区| 亚洲国产一区在线观看| 一级黄在线观看| 国产亚洲激情在线| 亚洲最大网站| 国产一区二区三区免费不卡| 中文无码久久精品| www午夜视频| 国产日韩欧美电影| 男人天堂av在线播放| 亚洲娇小xxxx欧美娇小| 麻豆福利在线观看| 亚洲综合中文字幕在线| 亚洲91中文字幕无线码三区| 三年中国国语在线播放免费| 91视频一区二区三区| 日本少妇xxxx动漫| 精品国产乱码久久久久久老虎 | 一本久道久久综合| 日本系列欧美系列| 一区二区三区伦理片| 欧美性猛交xxxx免费看| 亚洲欧洲视频在线观看| 欧美亚洲第一页| 欧美人与动xxxxz0oz| 波多野结衣综合网| av一区二区三区在线| 在线观看 中文字幕| 亚洲国产欧美一区二区三区久久| 俄罗斯一级**毛片在线播放| 成人免费视频观看视频| 伊人精品在线| 中国极品少妇xxxx| 精品久久久久久中文字幕大豆网 | 极品在线视频| 久久伦理网站| 日韩在线观看一区二区| 亚洲图片第一页| 欧美三级日韩三级国产三级| 92国产在线视频| 成人久久一区二区三区| 欧美日韩99| av无码一区二区三区| 日韩欧美在线免费观看| 成人性爱视频在线观看| 国产啪精品视频网站| 亚洲精品一区二区在线看| 亚洲天堂小视频| 亚洲一二三区不卡| 亚洲aaaaaaa| 国产精品综合网站| 欧美亚洲不卡| 久久国产精品无码一级毛片| 91国内精品野花午夜精品| 蜜桃视频在线观看免费视频网站www| 成人情趣片在线观看免费| 精品9999| 在线不卡av电影| 欧美在线一二三| av观看在线| 免费不卡亚洲欧美| 极品销魂美女一区二区三区| 欧美极品视频在线观看| 亚洲精品一区二区在线| 国产精品第一国产精品| 日韩网站在线免费观看| 国产女人18水真多18精品一级做|