再努力一点点

没有烟抽的日子
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

学习高并发与大数据量

Posted on 2010-09-12 12:03  ZhangPeng.Chen  阅读(2256)  评论(2编辑  收藏  举报

负载均衡

  通常面对高并发与大数据量都会使用负载均衡,使用多台服务器来共同承担压力。

  接着许许多多的问题就来了。

Http Request => (Server1, Server2, Server3)
1. 服务器数据同步
  1.1 数据库同步
    通常会使用一台数据库服务器,数据库同步就不用额外处理,但如果系统遇到瓶颈,可能就需要提供多台数据库服务器,然后进行同步。

  1.2 文件同步  
    比如管理员登录后台,添加了一张图片,管理员的请求被均衡到Server1,那么这张图片会被保存在Server1,那么我们需要同步到Server2,Server3。
    可以使用软件监测某些目录来达到同步的目的,比如更新部署也是一样,每台服务器分别更新是相当麻烦,而且还要测试每台服务器是否一致,所以我们需要
    可以同步的工具。

  1.3 Session
    无法使用会话,因为会话会容易丢失,比如你的请求在Server1上,保存到Session中,你的下一个请求可能在Server2,就丢失了。
    不过Session有一些选项可以指定是否持久化,可以保存到数据库中等等。

  1.4 验证票
    配置machine key之类的,保证多台服务器生成的验证票之类的是一致的。

  1.5 静态变量要小心
    现在是每台服务器都有一份。

  1.6 缓存
           一定要保证多台服务器间缓存数据的一致性,Memcache/SharedCache。
           如果不使用分布式缓存,而保存在服务器内存中,那更新数据时需要通知所有服务器移除相关缓存,如果缓存数据量很大,还是建议使用分布式缓存。

2. 压力测试

    jMeter是不错的选择