Flex 基于LVS的集群设计及实现

一、基于lvs的集群设计

       本文讲的flex是指flex web应用,玩过三国杀的朋友都知道其有个web版就是flex开发的,用户需要登录、选择作战服务器等,这就是一个flex web应用。本文讲的flex web应用环境如下:

       1flex开发的application,根据菜单加载相应的module

       2)后台服务基于java blazeds

       3)应用发布在tomcat6

       由于tomcat有用户限制,一般一个应用在线用户达到800(该数据不是很准,当初我用jmeter压力测试,基本上800已经是上线)左右,应用服务器响应极慢。因此准对高峰期有3000左右在线用户的时候就需要对用户进行分流,最简单做法就是公开4台服务器,如:

       server1.test.com

       server2.test.com

server3.test.com

server4.test.com

       然后,让用户自己去选择不同的登录服务器,这显然不太友好,为此本文使用了LVS进行负载均衡,其实就是请求分流,理想结果应该是用户只要访问server.test.com,然后flex应用自己定向到相对空闲的服务器,如下图所示:

Flex 基于LVS的集群设计及实现_第1张图片

       客户端统一访问server.test.com,然后lvs将请求自动转向到某个应用服务器。看上去挺简单、方便,实现起来还是有些难题,主要有session如何共享,flex应用安全沙箱问题等。

 

二、基于lvs的集群实现

1、判断服务器空闲情况的公共服务

       每台应用服务器都提供判断服务器空闲情况的公共服务,假设服务名为dispatchServer,返回空闲应用服务器的IP地址。则应用在用户登录验证之前必须先调用dispatchServer服务,获取到空闲的应用的服务器,假设为server2.test.com。则以后该用户的所有访问,程序必须保证直接访问server2.test.com。至于如何判断哪台应用服务器交空,有很多算法,比如在线用户数是否达到最大用户数,cpu、内存使用情况等。

2flex安全沙箱处理

       由于客户端有可能直接访问server1.test.comserver2.test.comserver3.test.comserver4.test.com中的任何一台,因此需要进行flex跨越访问设置。关于flex安全沙箱处理,网上文章很多,大家不妨参考:http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html

你可能感兴趣的:(tomcat,应用服务器,server,集群,服务器,Flex)