现项目有一个需求,许多并发的线程需要不停的写数据到数据库中,同时为了数据安全??nnd,要实时将数据写到服务器本地文件中。一天生成一个日志文件。本来我的意思是可以起一个线程定时处理,别人认为这个还不是实时的,万一碰到数据写入数据库失败,还能在备份文件中找到结果。- -请问写文件时仅仅实现synchonized 就可以满足需求了吧。但我考虑几百个并发同时在服务器上不停的进行io操作,要把服务器搞崩溃的。有没有更好的解决办法呢。

解决方案 »

  1.   

    为了数据安全,我觉得应该采用双机备份,而不应该采用这样的方式。即使要这样做,也不应该是那么多个线程更新同一个文件,可以用池的方式,例如产生100个文件,搞一个专门的调度方法进行调度,就像连接池概念差不多,这样效率应该高些。而且写文件的时候肯定要进行缓存,否则你的硬盘肯定也吃不消。