免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 11035 | 回复: 36
打印 上一主题 下一主题

求教:关于 LVS 的粘滞问题!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-18 12:10 |只看该作者 |倒序浏览
本帖最后由 storysky 于 2010-03-18 18:12 编辑

最近公司要做负载均衡,我的意见是使用LVS 来做分发,可是 领导马上就提出疑问,LVS 怎么做到保障用户在一台服务器上长时间登录 而不在登录期间被分发到其他服务器去?我回答说lvs 有个 -p 参数可以设置一个时间,这个时间可以保证用户不会被分发到其他服务器。

领导另一个问题来了,我们的大部分请求都通过相同的服务器相同的IP发过来的,而LVS只能针对 IP地址来做分发如果做了粘滞时间 相同的IP都会发到同一个 realserver上面去,这样不能做到负载均衡。所以 必须要做到通过用户的session 来进行粘滞。问我lvs 如何做到?

我被难住了,来这里寻求大家的帮助。

我们的应用是架 在一个网站后台的,而这个网站 的IP 是固定的。我需要给同一个IP 的不同请求做分发

论坛徽章:
0
2 [报告]
发表于 2010-03-18 13:26 |只看该作者
我们的大部分请求都通过相同的服务器相同的IP发过来的??

这句话没看明白,你们大部分请求都是通过同一台服务器来发过来?你们的环境具体是什么样的?

论坛徽章:
0
3 [报告]
发表于 2010-03-18 14:26 |只看该作者
我们的大部分请求都通过相同的服务器相同的IP发过来的??

这句话没看明白,你们大部分请求都是通过同一 ...
tanyangxf 发表于 2010-03-18 13:26



就是说,我们的访问好多都是通过一台服务器过来的, 比如我们的程序是挂在一个大型网站的后面。很多访问都是通过这个大网站的ip 来的

论坛徽章:
0
4 [报告]
发表于 2010-03-18 14:34 |只看该作者
回复 2# tanyangxf


    大概情况就是这样

论坛徽章:
0
5 [报告]
发表于 2010-03-18 15:15 |只看该作者
lvs可以实现啊,比如环境中一台master,两台real server,客户端的请求发给master,由master来转发给real server。客户端连接第一次,master将请求发给real server1,客户端再连接一次,master就会将请求转发给real server2啊,客户端的IP没变啊。。楼主lvs的原理没搞清吧。。lvs有3种转发模式 。。楼主可以去研究下。。

论坛徽章:
0
6 [报告]
发表于 2010-03-18 18:09 |只看该作者
回复 5# tanyangxf


  先谢谢这位朋友的回复 ,不过还是请你完整的看完我发的帖子,我的分发不能像你说的那样 一个客户第一个请求给 1号real server 这个客户第二个请求给了2号realserver,这是不允许的。

我的情况是 很多用户通过 同一个ip 地址来访问,A用户不管多少次访问都需要被分发到 1号 realserver 上,而B 用户的访问可以被分发到其他 realservser上 而且B的多次访问也会被 念滞在 那台 realserver 上一段时间

论坛徽章:
0
7 [报告]
发表于 2010-03-18 18:20 |只看该作者
楼主是想要特定的用户永远访问指定的real server,其他的用户访问的话就分发,是这个意思不?
如果是这样的话,可以让特定的用户来访问时不走lvs,其他的用户走lvs,不就能实现了吗?不知道楼主是不是这个意思,我看的有点糊涂了。

论坛徽章:
0
8 [报告]
发表于 2010-03-18 18:26 |只看该作者
回复 7# tanyangxf


    没有所谓的特定用户,所有用户都是平等的分发,只是这个用户被分到一个服务器上后就会被粘滞在上面一段时间。但是所有用户都是通过同一个IP过来的。

不知道我这么解释你是否明白,完整的看完我的帖子你就明白了

论坛徽章:
0
9 [报告]
发表于 2010-03-18 18:39 |只看该作者
单靠lvs好像不能实现楼主要的功能,但是我有个疑问 :LVS 怎么做到保障用户在一台服务器上长时间登录 而不在登录期间被分发到其他服务器去?楼主上面说的这句话,一个用户长时间登录期间被分发到其他服务器上去有什么关系呢?操作的内容还是不会变的啊

论坛徽章:
0
10 [报告]
发表于 2010-03-18 18:41 |只看该作者
本帖最后由 storysky 于 2010-03-18 18:43 编辑

回复 9# tanyangxf


    如果每个用户的ip 都不同的话就好办了,直接用-p 设置时间就行了,能保证这个ip地址一直连接其中一台realserver。

回答你第二个问题,比如你在淘宝上选了一大堆东西用了1小时时间,这时候你点击付款 突然发现 你的购物车是空的。这就是因为你的请求给发到别的服务器上去了,而那个服务器上没有你选那一堆东西的缓存
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP