【转】四种镜像实现方法和原理

这个文章是转自梦游科技信息港的客服中心,因为我有有租用他们的空间,他们有提供镜像的服务。

1.最简单的方法:
一台做主服务器, 其它作镜像服务器, 数据库存在主服务器上, 镜像服务器使用远程调用功能读取主服务器的数据库. 使用工具让主服务器上的网页文件和镜像服务器同步.

优点: 实现简单
缺点: 远程调用效率低, 速度慢. 如果主服务器挂了就全部不行了.

2. 复杂的方法: 相当于集群, 一台做主服务器, 其它作镜像服务器, 让主服务器和镜像服务器数据同步, 包括网页和数据库. 当用户访问的时候, 可以直接读取主服务器或者镜像服务器的数据, 当需要写数据的时候, 通过镜像服务器传送数据直接写到主服务器上.

优点: 速度快
缺点: 实现起来困难复杂. 花费巨大. 如果主服务器挂了就全部不行了. 主服务器和镜像服务器必须保持良好的连接让数据同步时间尽量减少.

3. 更复杂的方法: 相当于更高级的集群, 全部机器数据同步, 包括网页和数据库. 当用户访问的时候, 可以直接读取任何一个服务器的数据, 当需要写数据的时候, 写到正在访问的服务器上, 然后数据再传输到其它服务器. 其中一台当机后恢复的话自动从其它没当机的服务器上同步最新数据.

优点: 速度快, 就算其中某个服务器挂了也不影响正常使用.
缺点: 实现起来非常困难非常复杂. 花费巨大. 主服务器和镜像服务器必须保持非常良好的连接让数据同步时间尽量减少, 不然可能会产生很多问题.

4. 不简单也不复杂的方法: 类似CDN的功能. 一台做主服务器, 其它作镜像服务器, 当用户访问镜像服务器的时候, 镜像服务器从主服务器读取数据返回给用户, 然后缓存数据. 当下一个用户访问同样的页面的时候, 直接返回缓存数据. 写数据的时候通过镜像服务器传送数据直接写到主服务器上.

优点: 实现简单. 花费小. 可以很容易地应用到不同网络不同地区的服务器或网站.
缺点: 镜像服务器必须和主服务器有良好的网络连接, 不然会比较慢. 如果主服务器挂了就全部不行了.