免费注册 查看新帖 |

Chinaunix

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

请教我的服务能否通过LVS实现负载均衡集群? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-24 15:48 |只看该作者 |倒序浏览
服务介绍:
有个固定的TCP端口用于监听,当客户连上来之后会协商一个UDP端口用于通信;于是服务器开启协商的UDP端口与客户端通信。
(请别问我为什么服务设计成这个样子,这是没办法的事情,受到通信协议的制约。)
(请注意:该UDP端口是协商出来的,是动态变化的)

该服务与传统的服务(如WEB之类)有一定的区别,即TCP链接与UDP套接字对之间有耦合关系。

翻看了论坛内的帖子,似乎大多数的集群都是基于IPVS的。 而IPVS在我这种情况下肯定是不适用的,因为无法保证TCP报文与对应的
UDP报文会被schedule到相同的real server 上去。

请问各位师兄,有否碰到过类似情况? 有没有解决办法呢?
我发现有个叫KTCPVS(基于layer-7的)的东东似乎可以用于我这种情况,但是这个KTCPVS好像还没有成熟,是吧?

论坛徽章:
0
2 [报告]
发表于 2008-10-24 16:01 |只看该作者
我觉得应该可以,不过你找个环境试试不就是了?!

论坛徽章:
0
3 [报告]
发表于 2008-10-24 16:03 |只看该作者

回复 #2 jerrywjl 的帖子

总要有点理论依据了之后才能实践啊,要不会很盲目的啊。

论坛徽章:
0
4 [报告]
发表于 2008-10-24 17:02 |只看该作者
自己顶一下!

各位楼上的,楼下的,路过的大哥,给点意见吧。

论坛徽章:
0
5 [报告]
发表于 2008-10-25 07:16 |只看该作者
有个固定的TCP端口用于监听,当客户连上来之后会协商一个UDP端口用于通信;于是服务器开启协商的UDP端口与客户端通信。


LVS schedule -- 固定的TCP端口(NOT UDP)-- to real server
当客户连上来之后 -- real server -- 协商一个UDP端口用于通信
UDP/TCP 服务器 on real servers

Is this what you want?

[ 本帖最后由 gl00ad 于 2008-10-25 07:17 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2008-10-25 08:50 |只看该作者
原帖由 gl00ad 于 2008-10-25 07:16 发表
有个固定的TCP端口用于监听,当客户连上来之后会协商一个UDP端口用于通信;于是服务器开启协商的UDP端口与客户端通信。


LVS schedule -- 固定的TCP端口(NOT UDP)-- to real server
当客户连上来之后 -- r ...



Yes. My question is how to schedule the subsequent UDP packets to the same real server as the corresponding TCP packets?

论坛徽章:
0
7 [报告]
发表于 2008-10-25 09:31 |只看该作者

回复 #6 miaoer 的帖子

I already told you, schedule 固定的TCP端口 to one of the real server, which one does not matter, as it will change.  

your own application 协商一个UDP端口用于通信 on the real server, that mean the application is on each real server, not on LVS server

My question is how to schedule the subsequent UDP packets

do not schedule UDP, schedule 固定的TCP端口

Use persistence to ensure same client IP send to the same real server
use firewall mark to group TCP and UDP port to the same real server on second thought, dynamic UDP port is a problem for sure, let me think about it

[ 本帖最后由 gl00ad 于 2008-10-25 09:37 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-10-25 12:23 |只看该作者
原帖由 gl00ad 于 2008-10-25 09:31 发表
I already told you, schedule 固定的TCP端口 to one of the real server, which one does not matter, as it will change.  

your own application 协商一个UDP端口用于通信 on the real server, that mean ...



非常感谢gl00ad的帮助。

是的根据客户IP地址来将相同的源地址的IP报文schedule到同一个real server上去,是一个不错的注意。
不过(怪我最开始没说清楚),我的这个服务基本上只有一个客户IP地址,非常特殊。
实际上是这样,我要做两个负载均衡集群。一个做客户端,另一个做服务器端。所以客户端基本上就只有一个IP地址。
不知道我表达清楚没?

论坛徽章:
0
9 [报告]
发表于 2008-10-25 12:33 |只看该作者
原帖由 miaoer 于 2008-10-24 16:03 发表
总要有点理论依据了之后才能实践啊,要不会很盲目的啊。


那你去看Red Hat的lvs 管理手册好了。http://www.redhat.com.cn/docs --> RHCS/GFS

我正是因为做过并看过才告诉你。不过你那个服务,只有你自己试了。你不试怎么知道?!

论坛徽章:
0
10 [报告]
发表于 2008-10-25 12:44 |只看该作者
原帖由 jerrywjl 于 2008-10-25 12:33 发表


那你去看Red Hat的lvs 管理手册好了。http://www.redhat.com.cn/docs --> RHCS/GFS

我正是因为做过并看过才告诉你。不过你那个服务,只有你自己试了。你不试怎么知道?!



关于LVS的配置等我都看过的。
问题的关键不在于怎么配置,而是目前的LVS解决方案是否在理论上能满足我的需求?
我目前需要的应该是一种layer-7的schedule算法,并且能够插入我自己的用户数据解析代码来实现特定
用户数据流之间的schedule绑定。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP