浅谈负载均衡

来源:互联网 发布:淘宝手机触摸屏 编辑:程序博客网 时间:2024/05/21 14:04

    相信大家都知道在学校考试的时候,由于一段时间内,近万人同时登陆考试系统进行考试,如果仅仅是依靠一台服务器的话,那学生在考试的时候肯定有不少人没法进入系统,系统也会很快会崩溃。

 

    这种时候该如何是好呢?肯定有不少人会说那就再加一台服务器。确实,再加一台服务器确实可以改善现在的情况。

    确实,这种情况当时在考试的时候也用过。当时是让五楼的考生用的23的服务器,然后二楼和三楼的人用的事24的服务器。只不过个人认为这不是负载均衡的实质。真正的负载均衡是要实现session共享的。这个话怎么理解?

 

    从这个图上看,利用nginx做请求分流。首先客户端都是通过192.168.21.25来访问考试系统。然后nginx根据不同的分布策略将一部分请求发送给23的服务器,一部分的请求发送给24的服务器。可是这里怎么就涉及到了共享session的问题呢?原因是这样的,因为nginx的分布策略决定有可能请求被分配给了23的服务器,可是响应却是由24的服务器发出的。就举个例子说吧,例如你在客户端发送登陆淘宝的请求,这时候请求被分配给了23的服务器,按道理来说,接下来应该是弹出带有你登陆的首页。可是由于session没有共享,然后由24的服务器响应,由于他没有受到带有用户信息的session,所以过滤器会让登陆界面再次的显示在你的眼前。共享了session 之后,就可以顺利解决这个问题了。

 

    进一步深入,看上面的那张nginx的图,你有没有觉得有什么地方不靠谱?如果装有nginx的电脑出意外崩溃了呢?那岂不是整个系统都无法使用了吗?于是进一步的解耦和。

 

    当然这里头的服务器和nginx你都可以根据业务的需求进行后期的拓展。


    总结:

         以上这些都还暂且停留在了一个理论的高度上,在实践方面还需要进一步的躬行。在理解负载均衡之前,最好能先自己查查http的工作原理,这样理解负载均衡的时候会更加的轻松一些。

1 0
原创粉丝点击