主要观点总结
本文记录了一次故障排查和问题解决的过程,涉及SOFA应用中的服务引用更改导致的问题。通过对问题的分析和实验,找到了问题的根源并解决了它。同时,还提供了一种利用RocketMQ事务消息实现分布式事务的方案,以确保跨服务事务的高可靠性和最终一致性。
关键观点总结
关键观点1: 故障排查和问题解决
文章记录了一个故障排查的过程,服务引用更改后导致的问题。通过对问题的定位和分析,包括查看代码、实验验证等方式,找到了问题的根源并解决了它。
关键观点2: SOFA应用中的服务引用问题
在SOFA应用中,服务引用的更改导致了问题。通过对服务发布和引用的方式、独一无二标识符(uniqueId)的使用等进行详细分析,找到了问题的根源。
关键观点3: 利用RocketMQ事务消息实现分布式事务
介绍了一种利用RocketMQ强大事务消息能力实现分布式事务的方案。该方案可以确保跨服务事务的高可靠性与最终一致性,同时还实现了事务处理的高效执行。
文章预览
阿里妹导读 作者记录了故障发生时的排查思路,再对问题进行详细描述并分析根本原因,最终找到解决方案。 事情起因 11.11号接到咨询反馈,有用户在沙箱测试环境的一个上传文件场景遇到异常,原因是其依赖我们团队的应用AxxxCore的一个TR接口报错,通过错误堆栈定位是服务内部依赖的一个SOFA JVM服务找不到。 can not find the corresponding JVM service. Please check if there is a SOFA deployment publish the corresponding JVM service. If this exception occurred when the application starts up, please add Require-Module to SOFA deployment ' s MANIFEST.MF to indicate the startup dependency of SOFA modules. 排查思路 查看代码发现引入服务的地方最近有一次修改,在原先@SofaReference的基础上新增了uniqueId。 @SofaReference(uniqueId = "aftsFileClient" ) private AftsFileClient aftsFileClient; SOFA框架有SOFA模块的概念,通常称为Bundle,可以
………………………………