为了描述TUXEDO负载平衡,需要区分两种配置模式,单机模式(SHM)的多台机器(或MP)模式。此外,在每一个模式下,我们需要区分的LDBAL *资源参数的情况下,当设置为Y,当它被设置为N。事实上,这两个主要参数,以及其他一些,决定了TUXEDO负载平衡算法的行为。
在SHM模式下的负载平衡
在SHM模式下,只有一台机器的应用程序的一部分。位于这台机器上的所有应用程序服务器。
如果LDBAL *资源部分参数设置为N,则所有的服务请求将被发送到相同的服务器广告请求的服务。
如果LDBAL *资源部分参数设置为Y,然后TUXEDO保持实时统计,目前在队列中的一台服务器上或在队列中的多台服务器上的工作量。队列中的该数量的工作,是目前该特定队列中的每一个服务请求的负载的总和。每当服务器处理的服务请求,其在其队列中的相应量的工作减少为服务请求负荷。当一个服务请求被发出时,该服务器选择完成。
当时TUXEDO检查任何空闲的服务器广告所要求的服务和发送服务请求到找到的第一个。如果没有,则然后TUXEDO,根据服务请求的负载,内部计算每个服务器的新的负载。
由该特定队列上的服务器的数量和选择的较轻地加载的一个。这是“实时”TUXEDO负载平衡算法。
在MP模式下的负载平衡
在MP模式中,应用程序由多台计算机组成的。每个机器可以运行服务器进程的广告相同的服务。
如果LDBAL *资源部分参数设置为N时,在SHM模式下的行为是相同的。即使选择的服务器是远程的。
如果LDBAL *资源部分参数设置为Y,然后TUXEDO保持着累积统计信息发送到每个服务器的工作量。这些载荷从未减少,相对的“实时”的负载平衡算法,但周期性地重置。当一个服务请求被发出,TUXEDO的任何空闲的本地服务器的检查和,如果存在的话,将服务请求发送给它。如果什么都没有,TUXEDO内部增加了服务请求负载的累积每个服务器的负载,最终为每个远程服务器中,位于服务器所在的机器添加了NETLOAD值,然后选择负载较轻的服务器。这是“循环”TUXEDO负载平衡算法。