TCC事务控制器

我要开发同款
wiwieo2022年07月04日
366阅读

作品详情

语言:Golang
技术:Gorilla web,Restful,etcd,mysql,levelDB
功能: 用于事务管理,采用配置及可扩展的方式,尽量避免TCC模式的业务耦合。为了保证执行成功,将步骤持久并进行有限重试,最终会有邮件提醒。
详情:
一、项目启动时,将配置信息(请求url对应的一系列操作)从etcd中加载到内存中
二、服务在接收到请求后,将请求url根据1中的配置,利用正则进行查找对应的具体操作信息,考虑到正则的速度比较慢,需要先根据服务名进行一次过虑
三、进行对应的try,confirm,cancel操作,并将处理结果保存起来,以备后续使用
四、设置定时任务,定时处理3中错误的步骤(1:当try失败时,无需处理;2:confirm失败时,继续执行confirm操作;3:cancel错误时,继续执行cancel)N(可配置,如5)次,N次以上仍未处理成功,发出警报(邮件,短信等)
注意项:因为有重试,所以下游服务,必须做幂等处理及空处理
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论