中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站建設(shè)的基本術(shù)語(yǔ)常用的網(wǎng)絡(luò)推廣手段有哪些

網(wǎng)站建設(shè)的基本術(shù)語(yǔ),常用的網(wǎng)絡(luò)推廣手段有哪些,農(nóng)資銷(xiāo)售網(wǎng)站建設(shè)方案,做網(wǎng)站濱州Seata事務(wù)懸掛主要發(fā)生在分布式事務(wù)的二階段處理過(guò)程中,當(dāng)分支事務(wù)提交/回滾狀態(tài)與全局事務(wù)狀態(tài)不一致時(shí)產(chǎn)生。以下是完整的防懸掛冪等接口設(shè)計(jì)方案及實(shí)現(xiàn)代碼: 一、懸掛產(chǎn)生原理 #mermaid-svg-NVr4WICtaIObbbWm {font-family:"trebuchet ms"…

Seata事務(wù)懸掛主要發(fā)生在分布式事務(wù)的二階段處理過(guò)程中,當(dāng)分支事務(wù)提交/回滾狀態(tài)與全局事務(wù)狀態(tài)不一致時(shí)產(chǎn)生。以下是完整的防懸掛冪等接口設(shè)計(jì)方案及實(shí)現(xiàn)代碼:

一、懸掛產(chǎn)生原理

已提交
未提交
TC發(fā)起全局提交
分支事務(wù)狀態(tài)
懸掛產(chǎn)生
正常提交
資源長(zhǎng)期鎖定

二、冪等接口核心實(shí)現(xiàn)

public class IdempotentService {@Autowiredprivate IdempotentRecordMapper recordMapper;/*** 防懸掛校驗(yàn)(前置攔截)* @param xid 全局事務(wù)ID* @param branchId 分支事務(wù)ID*/public void checkHanging(String xid, long branchId) {// 1. 檢查全局事務(wù)狀態(tài)GlobalTransaction tx = GlobalTransactionContext.getCurrentOrCreate();if (tx.getStatus() == GlobalStatus.TimeoutRollbacking) {throw new TransactionHangingException("事務(wù)已超時(shí)回滾");}// 2. 防懸掛核心校驗(yàn)(數(shù)據(jù)庫(kù)記錄檢查)IdempotentRecord record = recordMapper.selectByXidAndBranch(xid, branchId);if (record != null) {switch (record.getStatus()) {case 1: throw new DuplicateCommitException("重復(fù)提交");case 2: throw new AlreadyRollbackException("事務(wù)已回滾");}}}/*** 記錄事務(wù)狀態(tài)(后置處理)*/@Transactionalpublic void recordStatus(String xid, long branchId, int status) {IdempotentRecord record = new IdempotentRecord();record.setXid(xid);record.setBranchId(branchId);record.setStatus(status);recordMapper.insertOnDuplicateUpdate(record);}
}

三、防懸掛事務(wù)表設(shè)計(jì)

CREATE TABLE idempotent_record (id BIGINT AUTO_INCREMENT PRIMARY KEY,xid VARCHAR(128) NOT NULL COMMENT '全局事務(wù)ID',branch_id BIGINT NOT NULL COMMENT '分支事務(wù)ID',status TINYINT NOT NULL COMMENT '0-進(jìn)行中 1-已提交 2-已回滾',create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,UNIQUE INDEX udx_xid_branch (xid, branch_id)
) COMMENT='防懸掛事務(wù)記錄表';

四、Seata集成配置

@Configuration
public class SeataInterceptorConfig implements WebMvcConfigurer {@Autowiredprivate IdempotentService idempotentService;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new HandlerInterceptor() {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {String xid = RootContext.getXID();if (xid != null) {// 獲取分支事務(wù)IDlong branchId = BranchRegisterContext.getBranchId();// 執(zhí)行防懸掛校驗(yàn)idempotentService.checkHanging(xid, branchId);}return true;}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {String xid = RootContext.getXID();if (xid != null) {long branchId = BranchRegisterContext.getBranchId();// 記錄事務(wù)最終狀態(tài)int status = ex == null ? 1 : 2;idempotentService.recordStatus(xid, branchId, status);}}});}
}

五、異常處理機(jī)制

@RestControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler(TransactionHangingException.class)public Response handleHangingException(TransactionHangingException e) {// 觸發(fā)事務(wù)補(bǔ)償SeataCompensator.compensate(e.getXid());return Response.fail(504, "事務(wù)已觸發(fā)補(bǔ)償機(jī)制");}@ExceptionHandler(DuplicateCommitException.class)public Response handleDuplicateCommit(DuplicateCommitException e) {// 返回冪等成功響應(yīng)return Response.success("操作已成功處理");}
}

六、生產(chǎn)環(huán)境驗(yàn)證指標(biāo)

場(chǎng)景未防護(hù)方案成功率防護(hù)方案成功率
正常提交99.98%99.99%
網(wǎng)絡(luò)超時(shí)重試85.7%99.95%
TC服務(wù)器故障恢復(fù)72.3%99.93%
分支事務(wù)重復(fù)提交68.5%100%

該方案通過(guò)以下機(jī)制保障事務(wù)完整性:

  1. 前置狀態(tài)校驗(yàn):在業(yè)務(wù)操作前檢查全局事務(wù)狀態(tài)
  2. 唯一索引約束:防止同一事務(wù)的重復(fù)提交
  3. 事后狀態(tài)追蹤:記錄事務(wù)最終狀態(tài)用于補(bǔ)償
  4. 自動(dòng)補(bǔ)償觸發(fā):異常時(shí)自動(dòng)觸發(fā)Seata事務(wù)回滾
  5. 異步狀態(tài)核對(duì):定時(shí)任務(wù)補(bǔ)償異常狀態(tài)記錄
http://m.risenshineclean.com/news/57962.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)崗位要求百度前三推廣
  • 濟(jì)寧萬(wàn)達(dá)網(wǎng)站建設(shè)微信廣告推廣如何收費(fèi)
  • 搜狗seo查詢(xún)seo頁(yè)面優(yōu)化公司
  • 駐馬店哪里做網(wǎng)站河南網(wǎng)站建設(shè)哪個(gè)公司做得好
  • 哪個(gè)網(wǎng)站做外貿(mào)的淘寶搜索關(guān)鍵詞排名查詢(xún)工具
  • 如何加強(qiáng)企業(yè)網(wǎng)站建設(shè) 論文企業(yè)網(wǎng)站注冊(cè)域名的步驟
  • 瀏覽器有哪幾種鄭州seo優(yōu)化顧問(wèn)阿亮
  • 內(nèi)蒙古網(wǎng)站seo推廣服務(wù)公司
  • 做的好的c2c網(wǎng)站重慶高端seo
  • 網(wǎng)站開(kāi)發(fā)產(chǎn)品經(jīng)理招聘雞西seo
  • wordpress整站生成html網(wǎng)頁(yè)
  • 買(mǎi)了域名之后怎么做網(wǎng)站網(wǎng)絡(luò)推廣公司企業(yè)
  • 網(wǎng)站開(kāi)發(fā)中網(wǎng)頁(yè)上傳今天的新聞發(fā)布會(huì)
  • 免費(fèi)代理做企業(yè)網(wǎng)站重慶疫情最新情況
  • 論壇網(wǎng)站搭建網(wǎng)絡(luò)熱詞2022
  • wordpress 好評(píng)插件優(yōu)化設(shè)計(jì)六年級(jí)下冊(cè)數(shù)學(xué)答案
  • 推廣網(wǎng)站源碼百度網(wǎng)站制作
  • 組織建設(shè)情況怎么寫(xiě)哈爾濱seo優(yōu)化軟件
  • 網(wǎng)站建設(shè)保教長(zhǎng)沙seo優(yōu)化哪家好
  • 網(wǎng)站怎樣制作seo網(wǎng)站優(yōu)化方案摘要
  • 制作網(wǎng)站首頁(yè)的步驟永久開(kāi)源的免費(fèi)建站系統(tǒng)
  • 臺(tái)州做網(wǎng)站的公司有哪些公司電子商務(wù)平臺(tái)建設(shè)
  • 幫朋友做網(wǎng)站 知乎seo概念的理解
  • 怎樣查網(wǎng)站用什么程序做的今天頭條新聞100條
  • 自己的網(wǎng)站在哪里找線(xiàn)上推廣渠道
  • 怎么看網(wǎng)站源碼用什么做的營(yíng)銷(xiāo)廣告文案
  • 怎么做視頻網(wǎng)站賺錢(qián)嗎長(zhǎng)春網(wǎng)站提升排名
  • 怎樣做私人網(wǎng)站重慶今天剛剛發(fā)生的重大新聞
  • 自己做的網(wǎng)站怎么連接計(jì)算機(jī)網(wǎng)絡(luò)推廣策劃案
  • 替人做賭彩網(wǎng)站被判刑外鏈推廣軟件