这个问题是我在想WF的时候想到了,它的工作流程是在内存中的,也可以提供持久化到db中的机制,于是我想到了,像我们平常中程序运行过程中也会在内存中保留有各种数据结构,如果因为异外宕机了,那我们在内存中的数据就不复存在了,那我们如果再启动程序时如何能够重现宕机前内存中的数据,使是程序可以从那个数据点继续运行,不知道大家有这方面的经验吗?交流一下,感觉这个算是灾难恢复的范畴吗?还是说我们要在程序中实现持久化的机制,可我感觉这个行不太通,不可能时刻都持久化啊
2 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
WF也不是时刻持久化的。 对。真正的灾难恢复往往都是需要硬件支持的。 为了提高你的数据的安全性,我感觉有两点需要注意。 1. 类似咸蛋超人所说 缓存只是提高数据读取的机制,并不缓存数据存储。也就是说,当你要写一个数据时,需要立即写入到数据库中。而读取数据的时候,你会先向数据库查询当前版本信息,如果版本信息和你缓存的数据的版本一致。直接使用缓存的数据。否则,重新载入数据库中的数据到缓存中。 2. 事务 你应该将你的业务逻辑划分为独立的事务单元,确保每个事务完成后结果都被很好的持久化了(方法可以自己考虑)。这样,及时系统发生了崩溃,你也可以恢复上一个成功的事务的状体,然后继续执行下面的事务。 其实,WF就是定义了这样一个基础结构。他并没有实现很高级的灾难恢复能力。仅仅是让每一个在WF上开发的人都按照这个机理来管理自己的业务逻辑。从而达到更高的数据安全性。
- 2 回答
- 0 关注
- 602 浏览
添加回答
举报
0/150
提交
取消