1.一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,它包括以下步驟:
開啟DB實(shí)例的單機(jī)事務(wù);
執(zhí)行DB請(qǐng)求,更新DB;
請(qǐng)求實(shí)時(shí)事務(wù)模塊;
對(duì)實(shí)時(shí)事務(wù)模塊是否請(qǐng)求成功進(jìn)行判斷,如果未請(qǐng)求成功,則觸發(fā)回滾,拋出異?;蚱渌鸇B驅(qū)動(dòng)的事務(wù)回滾觸發(fā)事件;如果請(qǐng)求成功,則進(jìn)行提交。
2.如權(quán)利要求1所述的一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,所述請(qǐng)求實(shí)時(shí)事務(wù)模塊的步驟中,至多進(jìn)行一個(gè)實(shí)時(shí)事務(wù)模塊調(diào)用,如果有多個(gè)實(shí)時(shí)事務(wù)模塊,則進(jìn)行串聯(lián)調(diào)用。
3.如權(quán)利要求1所述的一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,所述對(duì)實(shí)時(shí)事務(wù)模塊是否請(qǐng)求成功進(jìn)行判斷的步驟中,如果請(qǐng)求成功,在進(jìn)行提交之前,還包括插入最終一致性處理模塊的步驟。
4.如權(quán)利要求2所述的一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,所述對(duì)實(shí)時(shí)事務(wù)模塊是否請(qǐng)求成功進(jìn)行判斷的步驟中,如果請(qǐng)求成功,在進(jìn)行提交之前,還包括插入最終一致性處理模塊的步驟。
5.如權(quán)利要求1或2或3或4所述的一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,所述分布式事務(wù)的處理方法采用模塊調(diào)用的拓?fù)浣Y(jié)構(gòu)來處理分布式事務(wù)。
6.如權(quán)利要求5所述的一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,所述采用模塊調(diào)用的拓?fù)浣Y(jié)構(gòu)來處理分布式事務(wù)核心設(shè)計(jì)規(guī)則包括:一個(gè)模塊至多有一次修改類型的RPC調(diào)用,修改類型的RPC調(diào)用無需提供回滾接口。
7.如權(quán)利要求6所述的一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,如果單流程有多次修改類型的RPC調(diào)用,同時(shí)又要保證整體的實(shí)時(shí)一致性,需將RPC調(diào)用串聯(lián)。
8.如權(quán)利要求5所述的一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,所述采用模塊調(diào)用的拓?fù)浣Y(jié)構(gòu)來處理分布式事務(wù)核心設(shè)計(jì)規(guī)則還包括:RPC接口調(diào)用封裝在DB事務(wù)處理邏輯內(nèi)部,放在DB事務(wù)后面。
9.如權(quán)利要求8所述的一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,所述RPC接口調(diào)用失敗或返回失敗后,拋出異常觸發(fā)DB事務(wù)回滾。
10.如權(quán)利要求5所述的一種微服務(wù)架構(gòu)中分布式事務(wù)的處理方法,其特征在于,如果流程中的RPC調(diào)用接受最終一致,則能夠插入隊(duì)列,但是必須放在所有調(diào)用流程結(jié)束之后。