日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

面試官問到分布式事務?這樣回答就對了!

來源: 責編: 時間:2024-06-27 07:56:36 165觀看
導讀小王面試某互聯網公司高級開發崗位,介紹項目的時候,談到公司業務量和研發團隊暴增后,自己主導完成公司項目的架構升級,從傳統的單體架構升級到微服務架構,面試官接下來就問了一道經典面試題:你們架構升級過程中,分布式事務是

小王面試某互聯網公司高級開發崗位,介紹項目的時候,談到公司業務量和研發團隊暴增后,自己主導完成公司項目的架構升級,從傳統的單體架構升級到微服務架構,面試官接下來就問了一道經典面試題:你們架構升級過程中,分布式事務是如何解決的?請介紹一下。5VE28資訊網——每日最新資訊28at.com

看重點

5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

主要圍繞三個大方向:5VE28資訊網——每日最新資訊28at.com

1. 事務相關概念介紹;5VE28資訊網——每日最新資訊28at.com

 2. 分布式事務常見方案;5VE28資訊網——每日最新資訊28at.com

 3. 柔性事務之最大努力通知型落地實現;5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

1.事務相關概念介紹

5VE28資訊網——每日最新資訊28at.com

事務是一系列的動作,它們綜合在一起才是一個完整的工作單元,這些動作必須全部完成,如果有一個失敗的話,那么事務就會回滾到最開始的狀態,仿佛什么都沒發生過一樣。5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

單事務概念

5VE28資訊網——每日最新資訊28at.com

應用多次數據庫操作,通過用事務進行管理,來保證ACID原則。5VE28資訊網——每日最新資訊28at.com

原子性(A):操作這些指令時,要么全部執行成功,要么全部不執行。只要其中一個指令執行失敗,所有的指令都執行失敗,數據進行回滾,回到執行指令前的數據狀態。5VE28資訊網——每日最新資訊28at.com

一致性(C):事務的執行使數據從一個狀態轉換為另一個狀態,事務在執行之前和之后,數據庫都必須處于一致性狀態。5VE28資訊網——每日最新資訊28at.com

隔離性(I):在該事務執行的過程中,無論發生的任何數據的改變都應該只存在于該事務之中,對外界不存在任何影響。只有在事務確定正確提交之后,才會顯示該事務對數據的改變。其他事務才能獲取到這些改變后的數據。5VE28資訊網——每日最新資訊28at.com

持久性(D):當事務正確完成后,它對于數據的改變是永久性的。5VE28資訊網——每日最新資訊28at.com

分布式事務概念

5VE28資訊網——每日最新資訊28at.com

  1. 單應用內部調用(多個數據源調用,操作多個庫)以某業務的動態折扣業務場景為例:動態折扣規則-運營后臺配置(配置庫)用戶享受的動態折扣-用戶折扣記錄(按userId分片的分片庫,120個)
  2. 涉及多應用調用(有可能操作同一個數據源,也有可能操作不同的數據源)以某業務用戶抵扣可用優惠場景為例:用戶 -> 查詢可用優惠 -> 支付訂單 -> 調用動態折扣系統抵扣 -> 調用優惠券系統抵扣

CAP理論

5VE28資訊網——每日最新資訊28at.com

C:一致性,數據一致性:強一致性、弱一致性、最終一致性。5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

強一致性:流程涉及的各個環節數據必須實時一致性5VE28資訊網——每日最新資訊28at.com

弱一致性:流程涉及的各個環節數據允許存在部分數據不一致5VE28資訊網——每日最新資訊28at.com

最終一致性:允許存在中間狀態,只要求經過一段時間后,數據最終是一致的5VE28資訊網——每日最新資訊28at.com

A:可用性:系統提供的服務必須一直處于可用的狀態,對于用戶的每一個操作請求總是能夠在有限的時間內返回結果。5VE28資訊網——每日最新資訊28at.com

P:分區容錯性(一定會存在):分布式系統在遇到任何網絡分區故障時,仍然需要能夠保證對外提供滿足一致性和可用性的服務。5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

無法同時滿足CAP,常見組合:AP:互聯網業務  CP:金融業務5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

base理論

5VE28資訊網——每日最新資訊28at.com

base理論是CAP理論中AP方案的延伸,核心思想是即時無法做到強一致性,但每個應用都可以根據自身業務特點,采用適當的方式來使系統達到最終一致性。5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

Basically Available(基本可用)Soft state(軟狀態,中間狀態)Eventually consistent(最終一致性)5VE28資訊網——每日最新資訊28at.com

2.分布式事務常見方案

5VE28資訊網——每日最新資訊28at.com

分布式場景下,多個服務同時對服務一個流程,比如電商下單場景,需要支付服務進行支付、庫存服務扣減庫存、訂單服務進行訂單生成、物流服務更新物流信息等。如果某一個服務執行失敗,或者網絡不通引起的請求丟失,那么整個系統可能出現數據不一致的原因。5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

常見方案:5VE28資訊網——每日最新資訊28at.com

1. 設計方案盡可能規避分布式事務方案(相似的業務放在一起,不要過度拆分)5VE28資訊網——每日最新資訊28at.com

2. 強事務(CP, 低并發短事務)和柔性事務(AP,高性能)5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

強事務:滿足CP理論,XA協議(2PC、JTA、JTS)、3PC,但由于同步阻塞,處理效率低,適合低并發、短事務業務。5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

2PC:Seeta(AT)、LCN(2PC),適合分布式系統   JTA:atomikos(適合單系統多數據源)5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

柔性事務:滿足AP,base理論,適合異步更新數據,并且對數據的實時性要求較低的場景,主要分為: .補償型(TCC、saga) .最大努力通知型(MQ、本地消息表) .異步確保型(MQ、本地消息表)5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

實現方式:TCC(seeta-tcc,lcn-tcc)、Saga(seeta-saga狀態機模式、Aop模式)、本地事務消息、事務消息MQ5VE28資訊網——每日最新資訊28at.com

互聯網業務,一般的流量比較大,涉及很多高并發場景,我們一般采用柔性事務,這樣系統的性能好。5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

3.柔性事務之最大努力通知型落地實現

5VE28資訊網——每日最新資訊28at.com

互聯網應用最廣泛:5VE28資訊網——每日最新資訊28at.com

5VE28資訊網——每日最新資訊28at.com

  1. 重試:通過本地消息表+job重試對賬+下游(接口冪等、提供接口的校驗)+(打印日志+告警+人工介入補償)基于本地消息表實現分布式事務基于mq實現柔性分布式事務。
  2. 回滾:1)程序捕獲異常,調用回滾代碼  2)發送回滾MQ,各個系統消費MQ,調用本地回滾方法。

本文鏈接:http://www.www897cc.com/showinfo-26-96756-0.html面試官問到分布式事務?這樣回答就對了!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 探討 C++ vector 中的 at() 與 [] 運算符:安全性與性能的抉擇

下一篇: Java開發人員必須掌握的11種干凈代碼最佳實踐

標簽:
  • 熱門焦點
  • 6月安卓手機好評榜:魅族20 Pro蟬聯冠軍

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年6月1日至6月30日,僅限國內市場。第一名:魅族20 Pro好評率:95%5月份的時候魅族20 Pro就是
  • 企業采用CRM系統的11個好處

    客戶關系管理(CRM)軟件可以為企業提供很多的好處,從客戶保留到提高生產力。  CRM軟件用于企業收集客戶互動,以改善客戶體驗和滿意度。  CRM軟件市場規模如今超過580
  • 三萬字盤點 Spring 九大核心基礎功能

    大家好,我是三友~~今天來跟大家聊一聊Spring的9大核心基礎功能。話不多說,先上目錄:圖片友情提示,本文過長,建議收藏,嘿嘿嘿!一、資源管理資源管理是Spring的一個核心的基礎功能,不
  • 虛擬鍵盤 API 的妙用

    你是否在遇到過這樣的問題:移動設備上有一個固定元素,當激活虛擬鍵盤時,該元素被隱藏在了鍵盤下方?多年來,這一直是 Web 上的默認行為,在本文中,我們將探討這個問題、為什么會發生
  • 慕巖炮轟抖音,百合網今何在?

    來源:價值研究所 作者:Hernanderz“難道就因為自己的一個產品牛逼了,從客服到總裁,都不愿意正視自己產品和運營上的問題,選擇逃避了嗎?”這一番話,出自百合網聯合創
  • 中國家電海外掘金正當時|出海專題

    作者|吳南南編輯|胡展嘉運營|陳佳慧出品|零態LT(ID:LingTai_LT)2023年,出海市場戰況空前,中國創業者在海外紛紛摩拳擦掌,以期能夠把中國的商業模式、創業理念、戰略打法輸出海外,他們依
  • 消息稱小米汽車開始篩選交付中心:需至少120個車位

    IT之家 7 月 7 日消息,日前,有微博簡介為“汽車行業從業者、長三角一體化擁護者”的微博用戶 @長三角行健者 發文表示,據經銷商集團反饋,小米汽車目前
  • 華為將推出盤古數字人大模型 可幫助用戶12小時完成數字人生成

    在今日舉行的2023年華為云數字文娛AI創新峰會上,華為云全球Marketing與銷售服務總裁石冀琳表示,華為云將在后續推出盤古數字人大模型,可幫助用戶12小
  • 蘋果140W USB-C充電器:采用氮化鎵技術

    據10 月 30 日 9to5 Mac 消息報道,當蘋果推出新的 MacBook Pro 2021 時,該公司還推出了新的 140W USB-C 充電器,附贈在 MacBook Pro 16 英寸機型的盒子里,也支
Top 主站蜘蛛池模板: 鲜城| 页游| 项城市| 肥城市| 恭城| 泸西县| 冷水江市| 渝北区| 屏东县| 邢台市| 怀化市| 乌审旗| 山东省| 三都| 蚌埠市| 晋宁县| 靖安县| 铜川市| 庆阳市| 韩城市| 玛多县| 宁武县| 额尔古纳市| 西华县| 奉节县| 莱西市| 托克托县| 辉南县| 永昌县| 富民县| 黑山县| 天祝| 合山市| 灯塔市| 泾川县| 九江县| 桑日县| 兴城市| 松阳县| 大理市| 台中县|