当前位置: 首页 > news >正文

做旅游网站的方法昆明百度推广开户费用

做旅游网站的方法,昆明百度推广开户费用,手机制作h5最常用软件,重庆小程序软件开发公司Broker提交或回滚事务消息 当生产者本地事务处理完成并且Broker回查事务消息后,不管执行Commit还是Rollback,都会根据用户本地事务的执行结果发送一个End_transaction的RPC请求给Broker,Broker端处理该请求的类是EndTransactionProcessor 第一步&…

Broker提交或回滚事务消息

当生产者本地事务处理完成并且Broker回查事务消息后,不管执行Commit还是Rollback,都会根据用户本地事务的执行结果发送一个End_transaction的RPC请求给Broker,Broker端处理该请求的类是EndTransactionProcessor
在这里插入图片描述

第一步,End_Transaction请求校验,主要检查项如下

1.Broker角色检查。Slave Broker不处理事务消息
2.事务消息类型检查。EndTransactionProcessor只处理
Commit或Rollback类型的事务消息,其余消息不处理,这里区分了事务回查
在这里插入图片描述
在这里插入图片描述

第二步,进行Commit或Rollback。

根据生产者请求头中的参数判断,是Commit请求还是Rollback请求,然后分别进行处理
在这里插入图片描述

commitMessage()

提交Half消息/这是事务消息服务接口中的一个方法,根据消息位点查询了Half消息,并将Half消息返回
在这里插入图片描述
在这里插入图片描述

checkPrepareMessage()

Half消息数据校验。校验内容包括发送消息的生产者组与当前执行Commit/Rollback的生产者是否一致,当前Half消息是否与请求Commit/Rollback的消息是否是同一条消息
在这里插入图片描述

endMessageTransaction()

消息对象类型转化,将MessageExt对象转化为MessageExtBrokerInner对象,并且还原消息之前的Topic和ConsumeQueue等信息
在这里插入图片描述

sendFinalMessage()

将还原后的事务消息最终发送到CommitLog中,一旦发送成功,消费者就可以正常拉取消息并消费
在这里插入图片描述

deletePrepareMessage()

在sendFinalMessage()执行成功后,删除Half消息。其实RocketMQ是不能真正删除消息的,其实质是顺序写磁盘,相当于做了一个"假删除"。"假删除"通过putOpMessage()方法将消息保存到TransactionMessageUtil.
buildOpTopic()的Topic中,并且做上标记TransactionalMessageUtil.REMOVETAG,表示消息已删除
在这里插入图片描述

  • 如果消息被标记为已删除,则调用addRemoveTagInTransactionOp()方法,利用标记为已删除的OP消息构造Message消息对象,并且调用存储方法保存消息
    在这里插入图片描述
  • TransactionalMessageUtil.buildOpTopic()方法跟保存Half消息时的逻辑类似
    在这里插入图片描述
  • Half消息保存在名为MixAll.RMQ_SYS_TRANS_HALF_TOPIC的Topic中,执行Commit和Rollback后的消息都保存在MixAll.RMQ_SYS_TRANS_OP_HALF_TOPIC
    对象中,以便Broker判断是否需要回查生产者事务的执行状态。
    在这里插入图片描述
    在这里插入图片描述
  • 调用存储层方法,真正地将OP消息保存到了CommitLog中
    在这里插入图片描述

Rollback实现逻辑

Rollback并没有真正删除消息,而是标记Half消息为删除,在Broker回查时机会跳过不检查
在这里插入图片描述

rollbackMessage()

该方法与CommitMessage()方法一样,都是查询Half消息并返回消息对象。

checkPrepareMessage()

消息校验,与Commit调用的是同一个方法

deletePrepareMessage()

删除Half消息,与Commit调用的是同一个方法

http://www.mmbaike.com/news/78503.html

相关文章:

  • 做网站公司实习日记seo主要是指优化
  • 监理工程师英文外链seo兼职
  • 网站首页弹窗代码互联网营销师培训多少钱
  • wordpress 文章备份什么是优化师
  • 区网站制作天津百度seo代理
  • 行业门户网站有哪些网站建设情况
  • 做网站后要回源码有何用优化关键词有哪些方法
  • 收录好的博客网站吗网站推广软件哪个好
  • 扬中做网站网站策划方案案例
  • 大连网站建设工作室关键词排名点击软件
  • 毕业设计代做网站机械株洲网页设计
  • wordpress主题vue景德镇seo
  • 西安专业网站建设公司哪家好二手交易平台
  • 龙岩几个县东莞网站推广行者seo08
  • 福州网站建设外包营业推广案例
  • 邯郸做seo网站优化推广策划方案
  • 宁波网站建设一般多少钱安年软文网
  • wordpress 插件教程广州seo做得比较好的公司
  • 24小时学会网站建设下载百度关键词竞价
  • 海口代办注册公司哪家好seo要点
  • 安徽做网站找谁网站查询器
  • 海尔电子商务网站建设情况品牌策划包括哪几个方面
  • 建筑设计门户网站seo网站优化方案案例
  • 网站建设找酷风cpm广告联盟平台
  • 企业做网站的痛点有哪些百度软件安装
  • 数学网站怎么做今日头条普通版
  • 吉林省建设厅网站特殊工种杭州seo代理公司
  • 湖北建设厅考试网站代码编程教学入门
  • 做网站UI工具想在百度做推广怎么做
  • 不会编程可以做网站吗不限次数观看视频的app