本发明主要涉及网络技术领域,具体涉及一种微服务架构分布式事务的实现方法。
背景技术:
微服务架构由于将不同模块拆分成了分离的多个微服务,如果遇到一个复杂的业务操作需要调用多个微服务,并且操作的上下步骤之间存在互相依赖和前后置关系,那么就是产生事务问题,如果在服务链路中间发生了故障,就造成了前置的部分服务调用成功,但后置的服务没有成功,引发数据不一致性问题。
技术实现要素:
本发明目的就是为了弥补已有技术的缺陷,提供一种微服务架构分布式事务的实现方法。
本发明是通过以下技术方案实现的:
一种微服务架构分布式事务的实现方法,其特征在于包括以下步骤:
(1)部署事务微服务,用于处理分布式事务问题;
(2)在需要用到分布式事务的程序位置,增加每一步事务埋点;
(3)编写程序,检测每一步事务埋点,一点事务通过,则进行成功埋点;
(4)将慢点数据通过接口请求,同步至事务微服务;
(5)事务微服务接到埋点则记录至单独的list;
(6)如果单独的事务list最后一条埋点数据,代表整个事务成功,则代表没有遇到分布式事务故障,则删除该条list;
(7)编写脚本,定期检测事务的list集合,设置时间阈值,将超过阈值并且没有结束的list,进行统计;
(8)根据统计结果,将出现问题的list集合,通过短信和邮件,反馈给报警人员,人工介入处理出现问题的事务节点。
本发明的原理是:
本发明通过事务微服务统一收集事务埋点,定期检测事务完整度,及时报告事务故障。
本发明的优点是:
本发明解决了微服务架构中分布式操作带来的数据不一致性问题,通过实际项目测试,使用此方法能解决90%分布式事务的问题。
具体实施方式
一种微服务架构分布式事务的实现方法,其特征在于包括以下步骤:
(1)部署事务微服务,用于处理分布式事务问题;
(2)在需要用到分布式事务的程序位置,增加每一步事务埋点;
(3)编写程序,检测每一步事务埋点,一点事务通过,则进行成功埋点;
(4)将慢点数据通过接口请求,同步至事务微服务;
(5)事务微服务接到埋点则记录至单独的list;
(6)如果单独的事务list最后一条埋点数据,代表整个事务成功,则代表没有遇到分布式事务故障,则删除该条list;
(7)编写脚本,定期检测事务的list集合,设置时间阈值,将超过阈值并且没有结束的list,进行统计;
(8)根据统计结果,将出现问题的list集合,通过短信和邮件,反馈给报警人员,人工介入处理出现问题的事务节点。