偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

這是一道關(guān)于Seata的Java面試題

開(kāi)發(fā) 前端
從這四種模型中不難看出,在不同的業(yè)務(wù)場(chǎng)景中,我們可以使用 Seata 的不同事務(wù)模型來(lái)解決不同業(yè)務(wù)場(chǎng)景中的分布式事務(wù)問(wèn)題,因此我們可以認(rèn)為 Seata是一個(gè)一站式的分布式事務(wù)解決方案。

Seata在大廠也是屬于高頻的面試題,有一位3年工作經(jīng)驗(yàn)的小伙伴被問(wèn)到一道這樣的面試題,說(shuō)“談?wù)勀銓?duì)Seata的理解”。那么,今天我給大家來(lái)聊一聊。

另外,我花了很長(zhǎng)時(shí)間,準(zhǔn)備了一份500頁(yè)的PDF面試資料文檔和一份10W字的Java總結(jié)面試題和答案,

圖片

1、Seata是什么

在微服務(wù)架構(gòu)下,由于數(shù)據(jù)庫(kù)和應(yīng)用服務(wù)的拆分,導(dǎo)致原本一個(gè)事務(wù)單元中的多個(gè) DML 操作,變成了跨進(jìn)程或者跨數(shù)據(jù)庫(kù)的多個(gè)事務(wù)單元的多個(gè) DML 操作,而傳統(tǒng)的數(shù)據(jù)庫(kù)事務(wù)無(wú)法解決這類的問(wèn)題,所以就引出了分布式事務(wù)的概念。

ENTER TITLE

圖片

分布式事務(wù)本質(zhì)上要解決的就是跨網(wǎng)絡(luò)節(jié)點(diǎn)的多個(gè)事務(wù)的數(shù)據(jù)一致性問(wèn)題,業(yè)內(nèi)常見(jiàn)的解決方法有兩種:

ENTER TITLE

圖片

1、強(qiáng)一致性

圖片

就是所有的事務(wù)參與者要么全部成功,要么全部失敗,全局事務(wù)協(xié)調(diào)者需要知道每個(gè)事務(wù)參與者的執(zhí)行狀態(tài),再根據(jù)狀態(tài)來(lái)決定數(shù)據(jù)的提交或者回滾!

圖片

2、最終一致性,也叫弱一致性

圖片

也就是多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)允許出現(xiàn)不一致的情況,但是在最終的某個(gè)時(shí)間點(diǎn)會(huì)達(dá)成數(shù)據(jù)一致。

圖片

基于 CAP 定理我們可以知道,強(qiáng)一致性方案對(duì)于應(yīng)用的性能和可用性會(huì)有影響,所以對(duì)于數(shù)據(jù)一致性要求不高的場(chǎng)景,就會(huì)采用最終一致性算法。

在分布式事務(wù)的實(shí)現(xiàn)上,對(duì)于強(qiáng)一致性,我們可以通過(guò)基于 XA 協(xié)議下的二階段提交來(lái)實(shí)現(xiàn),對(duì)于弱一致性,可以基于 TCC 事務(wù)模型、可靠性消息模型等方案來(lái)實(shí)現(xiàn)。市面上有很多針對(duì)這些理論模型實(shí)現(xiàn)的分布式事務(wù)框架,我們可以在應(yīng)用中集成這些框架來(lái)實(shí)現(xiàn)分布式事務(wù)。而 Seata 就是其中一種,它是阿里開(kāi)源的分布式事務(wù)解決方案,提供了高性能且簡(jiǎn)單易用的分布式事務(wù)服務(wù)。

1、Seata事務(wù)模式

圖片

Seata 中封裝了四種分布式事務(wù)模式,分別是:AT模式、TCC 模式、Saga 模式和XA 模式。下面我給大家詳細(xì)介紹一下:

第1種:AT 模式,是一種基于本地事務(wù)+二階段協(xié)議來(lái)實(shí)現(xiàn)的最終數(shù)據(jù)一致性方案,也是Seata 默認(rèn)的解決方案

圖片

第2種:TCC 模式,TCC 事務(wù)是 Try、Confirm、Cancel 三個(gè)詞語(yǔ)的縮寫,簡(jiǎn)單理解就是把一個(gè)完整的業(yè)務(wù)邏輯拆分成三個(gè)階段,然后通過(guò)事務(wù)管理器在業(yè)務(wù)邏輯層面根據(jù)每個(gè)分支事務(wù)的執(zhí)行情況分別調(diào)用該業(yè)務(wù)的 Confirm 或者 Cacel 方法。

圖片

第3種:Saga 模式,Saga 模式是 SEATA 提供的長(zhǎng)事務(wù)解決方案,在 Saga 模式中,業(yè)務(wù)流程中每個(gè)參與者都提交本地事務(wù),當(dāng)出現(xiàn)某一個(gè)參與者失敗則補(bǔ)償前面已經(jīng)成功的參與者。

圖片

第4種:XA 模式,XA 可以認(rèn)為是一種強(qiáng)一致性的事務(wù)解決方法,它利用事務(wù)資源(數(shù)據(jù)庫(kù)、消息服務(wù)等)對(duì) XA 協(xié)議的支持,以 XA 協(xié)議的機(jī)制來(lái)管理分支事務(wù)的一種事務(wù)模式。

圖片

從這四種模型中不難看出,在不同的業(yè)務(wù)場(chǎng)景中,我們可以使用 Seata 的不同事務(wù)模型來(lái)解決不同業(yè)務(wù)場(chǎng)景中的分布式事務(wù)問(wèn)題,因此我們可以認(rèn)為 Seata是一個(gè)一站式的分布式事務(wù)解決方案。

以上就是我對(duì)Seata的理解!面試的時(shí)候經(jīng)常會(huì)遇到這種寬泛的面試題,一般就是問(wèn)“談?wù)勀銓?duì)XX的理解”。遇到這類面試題,先不用慌,我告訴大家一個(gè)回答的思路??梢园凑占夹g(shù)發(fā)展的邏輯,就是先在自己的大腦中的建立一個(gè)知識(shí)索引,然后基于索引來(lái)定位你的知識(shí)。

圖片

比如,對(duì)于這類問(wèn)題,一般可以建立一個(gè)這樣的思維邏輯:

它是什么?

它能解決什么問(wèn)題?

它有哪些特點(diǎn)和優(yōu)勢(shì)?

它的核心原理是什么?

為什么它能解決這類問(wèn)題?

大家對(duì)照這個(gè)邏輯去回答這類面試題,是不是感覺(jué)思路異常更清晰呢?

最后,我把之前分享的資料全部整理成了文字,希望能夠以此來(lái)提高各位粉絲的通過(guò)率。? 0% ?

圖片

責(zé)任編輯:武曉燕 來(lái)源: Tom彈架構(gòu)
相關(guān)推薦

2022-04-08 07:52:17

CSS面試題HTML

2018-03-06 15:30:47

Java面試題

2024-10-11 17:09:27

2011-05-23 11:27:32

面試題面試java

2015-09-02 14:09:19

面試題程序設(shè)計(jì)

2009-08-11 10:12:07

C#算法

2009-08-11 14:59:57

一道面試題C#算法

2021-05-31 07:55:44

smartRepeatJavaScript函數(shù)

2017-11-21 12:15:27

數(shù)據(jù)庫(kù)面試題SQL

2009-08-11 15:09:44

一道面試題C#算法

2023-08-01 08:10:46

內(nèi)存緩存

2021-03-16 05:44:26

JVM面試題運(yùn)行時(shí)數(shù)據(jù)

2021-10-28 11:40:58

回文鏈表面試題數(shù)據(jù)結(jié)構(gòu)

2022-02-08 18:09:20

JS引擎解析器

2017-03-10 09:33:16

JavaScript類型

2011-03-02 10:58:16

SQL server入門面試題

2017-09-13 07:15:10

Python讀寫文件函數(shù)

2021-03-27 10:59:45

JavaScript開(kāi)發(fā)代碼

2011-06-14 09:12:03

JavaScript

2018-02-01 16:26:44

面試題static變量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)