>> WF也不是时刻持久化的。
对。真正的灾难恢复往往都是需要硬件支持的。
为了提高你的数据的安全性,我感觉有两点需要注意。
1. 类似咸蛋超人所说
缓存只是提高数据读取的机制,并不缓存数据存储。也就是说,当你要写一个数据时,需要立即写入到数据库中。而读取数据的时候,你会先向数据库查询当前版本信息,如果版本信息和你缓存的数据的版本一致。直接使用缓存的数据。否则,重新载入数据库中的数据到缓存中。
2. 事务
你应该将你的业务逻辑划分为独立的事务单元,确保每个事务完成后结果都被很好的持久化了(方法可以自己考虑)。这样,及时系统发生了崩溃,你也可以恢复上一个成功的事务的状体,然后继续执行下面的事务。
其实,WF就是定义了这样一个基础结构。他并没有实现很高级的灾难恢复能力。仅仅是让每一个在WF上开发的人都按照这个机理来管理自己的业务逻辑。从而达到更高的数据安全性。