阅读产品,书架,下拉刷新每次获取的作品数量不一致,后端使用了n台服务器,追查在不同的服务器上获取到的书架列表不一致,发现如下问题
1 添加一个Follow
2 把Follow的status置成-1
3 吧Follow的status置成0
执行下方代码
public Follow getFollow(int hostId, EnumObjectType hostType, int followerId) {
Follow f = this.getStatusFollow(hostId, hostType, followerId);
if(f != null && f.getStatus() != EnumFollowStatus.DELETED.getValue())
return f;
else{
System.out.println(f + " getFollow " + (f!=null ? f.getStatus() : null));
return null;
}
}
记录在数据库中status为0, 但是执行上方方法有可能返回null.
n台web服务器,后端跟ocs做hibernate的二级缓存
分析: ocs 内部是一个分布式的, 通过某种方式做同步,由于某些原因同步较慢,导致业务出现问题, 以上发生在青岛机房, 杭州好像没问题.