如何保证系统的实际状态和统计状态一致?

最近调试的系统牵涉到多个区,而且一个区内有多个角色、部分角色有多个节点,如果只是这样,用树状结构即可统一管理,但偏偏每个节点允许多区共用。复杂的关系导致系统的状态维护起来很麻烦,而且时刻要面临的一个问题是:如何保证系统的实际状态和统计状态一致?

 

之前一直做单区测试,晚上加上多区以后,其中一个角色core掉,数据库中也多了几条记录——和实际状态不一致了。调试core文件、检查日志均无思路,无奈之下手动将状态调成一致、重启core掉的角色并重复之前的操作希望问题重现。很可惜,系统运行良好。

 

于是推测是系统内部状态累积的问题。重启后角色所维护的状态重新初始化,和实际状态一致,所以问题没有重现。

 

晚上和kevin沟通了一下今天的进度,他提到了几点:

1. 系统中加入检查点。各个层面:代码级别、模块级别、节点级别的,检查系统的一致性;

2. 定期的清理不一致的状态。状态比对,定时重启;

3. 我们不要零bug系统,要得是可用的系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值