<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      一個簡單的跨庫事務(wù)問題

      最近在做一個項目,其中一個方案涉及到跨庫事務(wù)一致性問題,是一個簡單的場景。這個項目是對老的業(yè)務(wù)進(jìn)行性能提升,業(yè)務(wù)邏輯基本上保持不變。主要是在于新項目采用了分庫分表的設(shè)計,從而提升了性能。考慮到項目發(fā)布之后可能存在風(fēng)險,采取了新老系統(tǒng)的并行方案。這個系統(tǒng)的業(yè)務(wù)比較簡單:接收來自外部的數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行核對處理。為了保證新老系統(tǒng)能夠并行,在接收數(shù)據(jù)的時候必須實現(xiàn)雙寫方案,從而導(dǎo)致了跨庫事務(wù)的一致性問題。

      下面一幅圖展示這一簡單的場景

      這里面會存在一個小問題,就是可能存在寫入老庫成功,但是寫入新庫失敗的場景。

      我們假設(shè)出現(xiàn)這種概率的情況是百萬分之一,在系統(tǒng)發(fā)布的情況下,這種概率可能更高。從目前我們的數(shù)據(jù)量來看,一天大概5000W,那么出現(xiàn)不一致的數(shù)據(jù)量在500條。考慮到這個是數(shù)據(jù)核算系統(tǒng),不能有一條丟失的情況,否則兩邊比對結(jié)果可能會不一致。所以需要保證一致性。

      這種問題,有以下幾種解決方案

      1 考慮使用JTA等支持分布式事務(wù)的事務(wù)管理器

      這種方案的優(yōu)勢就是直接有現(xiàn)成的解決方案,一般的j2ee服務(wù)器都提供了JTA的相關(guān)的實現(xiàn)。比較明顯的問題就是解決方案太重量級。一般JTA除了服務(wù)器要支持,對應(yīng)的數(shù)據(jù)庫服務(wù)廠商一般也要提供相應(yīng)的商業(yè)支持,主要是提供基于 XAResource  JDBC驅(qū)動,這一些商業(yè)上的支持,部分是需要付費的。而且使用XA 數(shù)據(jù)庫驅(qū)動,本身可能導(dǎo)致一些潛在的問題,尤其是基于不同的數(shù)據(jù)庫廠商的時候。而XA是基于兩階段提交協(xié)議,事務(wù)管理器為了完成一個事務(wù),需要多次和數(shù)據(jù)庫通信,效率上比較低。

      2 考慮使用數(shù)據(jù)庫自身的數(shù)據(jù)同步機(jī)制

      如果新老庫的結(jié)構(gòu)基本一樣,這種方案還是比較靠譜的。也是比較簡單的方案。這種方案的局限性也再次。在本項目中,新庫不是一個物理庫,而是多個物理庫,而老庫是一個物理庫。如果要用數(shù)據(jù)庫自身的同步機(jī)制,涉及到多個庫和一個庫之間的數(shù)據(jù)復(fù)制。同時由于分表的方案也不一樣,導(dǎo)致兩邊做一個映射的配置,而這個需要在數(shù)據(jù)庫層面進(jìn)行,邏輯相當(dāng)?shù)膹?fù)雜,解決方案成本也比較高。相當(dāng)于把重要的分庫分表的邏輯在數(shù)據(jù)庫這一層重新實現(xiàn)了一份。

      其實這個也帶來一個維護(hù)問題,一旦我們覺得新系統(tǒng)已經(jīng)足夠穩(wěn)定。應(yīng)用程序可以之間在寫入庫進(jìn)行切換,把老庫的邏輯切掉,從而實現(xiàn)了只寫新庫的需求。整個過程也不需要進(jìn)行再次發(fā)布。而數(shù)據(jù)庫的方案則需要停掉腳本,在多個地方進(jìn)行配置。

      3 在old庫存放相同的兩張模型表,一張表用于old庫的持久化表,另外一張作為臨時表,主要是作為需要同步到到新庫的數(shù)據(jù)。如果已經(jīng)同步到新庫,就刪除。如果沒有同步到新庫就同步到新庫。這個過程采用定時機(jī)制,每分鐘定時提取臨時表一定數(shù)據(jù)量的數(shù)據(jù),批量導(dǎo)入到新庫。通過努力重試,來保證一致性。而新庫則需要保證冪等性,保證數(shù)據(jù)只會同步過一次。一般情況下,則是通過數(shù)據(jù)特征標(biāo)識符來識別,這個一般都是數(shù)據(jù)的唯一性主鍵。

      下面是簡單的實現(xiàn):

      這三種方案的主要思想就是 采取重試機(jī)制,這個只是分布式事務(wù)里面的一種模型,相應(yīng)的還有兩階段提交,異常恢復(fù)補(bǔ)償?shù)葯C(jī)制。

      主站蜘蛛池模板: 奎屯市| 国内少妇人妻偷人精品视频| 999国产精品999久久久久久| 亚洲国产精品日韩在线| 欧美视频二区欧美影视| 最新国产精品拍自在线观看| 亚洲第一福利网站在线观看 | 日韩不卡二区三区三区四区| 无码成人精品区在线观看| 国产一区二区三区尤物视频| 国产精品自在线拍国产| 亚洲国产精品久久久天堂麻豆宅男| 一区二区不卡99精品日韩| 国产午夜福利在线机视频| 久久天天躁狠狠躁夜夜躁2o2o| 亚洲在线一区二区三区四区| 国产精品白丝久久AV网站| 成年女人片免费视频播放A| 安宁市| 日韩福利片午夜免费观着| 国产福利萌白酱在线观看视频| 国产丝袜肉丝视频在线| 红杏av在线dvd综合| 国产精品天堂蜜av在线播放| 爱性久久久久久久久| 日韩丝袜欧美人妻制服| 国产精品亚洲一区二区z| 亚洲AV成人片在线观看| 激情亚洲内射一区二区三区| 樱桃熟了a级毛片| 蜜臀av一区二区国产精品| 国产欲女高潮正在播放| 好吊妞| 国产亚洲精品中文字幕| 2020国产欧洲精品网站| 国产在线国偷精品免费看| 在线观看中文字幕国产码| 在国产线视频A在线视频| 国产成人欧美一区二区三区| 加勒比亚洲天堂午夜中文| 国产精品自拍中文字幕|