网络互斥:如何解决当界面操作提示互斥,互斥列表却不存在记录的问题

1 问题描述
执行界面操作提示数据被锁定,但是在互斥列表中却没有看到互斥记录应该如何处理
2 分析思路
2.1 如何确认锁定该业务数据的源操作,有两种方式
2.1.1 第一种方式:根据提示互斥的traceid 在monitor中搜索记录

(1)通过关键字DataMutex.afterLocked,搜索加锁失败的信息,从下图可知,提交操作想要申请这条数据的锁,但是失败了

(2)将entityKey:实体编码作为关键字,将上个搜索结果的时间作为结束时间,在monitor中搜索是否这段时间有其他操作占用了这个锁

通过上述信息,可以看到该数据被列表的超链接点击操作锁定了,opKey,opMethod是执行该锁定的操作
注意:这种方式查找比较快速,适合申请锁不是很频繁的场景。
如果数据被锁的时间较长或者该业务场景比较频繁的申请锁,用这种方式就不太好排查,可以考虑用下面的方式
2.1.2 第二种方式:需要根据网络互斥的key去redis上查找数据被锁的具体时间
(1)key的组成accountID_ datalock_entityKey_groupId
accountID:数据中心id
datalock:固定值
entityKey:实体编码
groupId:普通操作一般为default_netctrl,如果有二开网络互斥的场景要用当时自定义的编码
例如:1173910536060928000_datalock_
网络互斥:如何解决当界面操作提示互斥,互斥列表却不存在记录的问题
1 问题描述执行界面操作提示数据被锁定,但是在互斥列表中却没有看到互斥记录应该如何处理2 分析思路2.1 如何确认锁定该业务数据的源操...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



