问题由来:原先的新闻系统(http://gnews.91.com)只有在南方的访问速度不错(因为放在电信服务器),业务需要在北方的网通用户也能够正常访问,于是在北方也放了一个站点http://bnews.91.com ,这两个站点的内容要同步(新闻是生成静态文件html页面浏览的).在windows下没有比较好的同步,于是...
前提:文章只会在南方进行更新
环境:dotnet + mysql
解决方案:
1.在南方的服务器上运行一个windows服务,该服务完成两件事情,首先是通过文件监控系统(采用windows的文件监控组件)记录有变化的文件的路径并记录到数据库表A,同时有一个定时器从数据库中读取路径信息,然后将这些文件读成二进制流写到数据库表B(读取完记得删除表A的相关信息)
2.北方的服务器也运行一个windows服务,这个服务通过定时器定时去数据库读取表B的信息,把二进制数据写到本地的文件(读取完记得删除B的相关信息)
3.这里有个问题数据库反正哪里呢?无论反正南方还是北方的服务器,其中一台操作它都是很慢的,如何解决呢?我采用的方式是数据库反正南方,然后做一个中转(做中转的机器同时连接着南方电信和北方网通的线路),这样北方的服务就不直接访问南方的数据库服务器,而是通过中转服务器,这样一来,访问速度就快了