一个服务需要往磁盘持久化数据,但不是每次写的同步刷盘,而是依赖于操作系统的后台线程异步刷盘,如果遇到机器宕机等异常情况,可能导致服务的数据丢失或处于不一致状态,所以需要在每次机器宕机后对服务的数据进行检查,保证数据完整性。
服务退出时,记录下退出状态,下次启动时根据上次的退出状态来判断是否异常退出。具体实现方案有很多,比如:
上述方案非常简单,要求服务能捕获kill信号,在收到kill信号或主动正常退出时,删除文件/service_home_dir/running,能识别出的异常场景包括:
The post 如何判断服务异常退出 appeared first on Yun Notes.