GlassFish Server Open Source Edition 3.1 - Loadbalancer
The administration module of GlassFish 3.1 will provide support for following commands :
LBREC-003 : InstallerIn GlassFish 2.1.1, we developed a installer and configurator for load-balancer plugin. It is known as GlassFish Loadbalancer Configurator. Its beta version was made available to GlassFish user. We can leverage it for GlassFish 3.1 as well. This will act as standalone installer to install and configure load-balancer plugin on supported web servers and platforms. We will further discuss with installer team of GlassFish 3.1 whether installer can take care of above mentioned functionality, as used to be the case in GlassFish 2.x. LBREC-004 : Preferred fail-over instanceAs of now if instance currently handling session goes down then load-balancer will select another healthy instance from the cluster and forward request to that instance. We can call this newly selected instance as fail-over instance. Since round-robin algorithm is used to select fail-over instance, it is not guaranteed that fail-over instance will have user session in its replica cache and will resort to broadcast mechanism to get user session. If a mechanism can be developed wherein GlassFish let load-balancer know of instance which acts as replica for user session. The load-balancer can then fail-over request to preferred fail-over instance rather than using round-robin mechanism to select it. This will need certain amount of work in native load-balancer plugin code as well as GlassFish. Another point to note here is that load-balancer does not use and expect plain instance names as cookie value. It generates instance ID for each instance using a propriety encoding mechanism. If GlassFish stamps the replica instance name, then it need to follow same mechanism to encode fail-over instance. We need to always ensure that encoding mechanism is always consistent in GlassFish and load-balancer. We need to decide whether existing load-balancer plugin will be enhanced to include this feature. Supported Web serversWe will continue to support web servers which were supported by load-balancer plugin in GlassFish 2.x. Below is the list of supported web servers :
Supported PlatformSupported platforms by load-balancer plugin will be subset of platforms supported by GlassFish 3.1. It will continue to support platforms already supported in GlassFish 2.x. No new platform support is planned as of now. Below is the list of supported platforms :
We may additional support SLES 11 if existing load-balancer plugin works successfully on that platform. QE need to verify load-balancing functionality on SLES 11. Milestone Schedule
|
Feature ID | Priority | Description | Eng Response | Owner(s) | Estimate (Man Days) | Source of Requirement | Status / Comments |
---|---|---|---|---|---|---|---|
LBREC-001 | P1 | Admin command to create load-balancer elements in domain xml | Yes | Yamini | 20 | Feature parity | Admin commands : configure-lb-weight, create-http-health-checker, create-http-lb, create-http-lb-config, create-http-lb-ref, delete-http-health-checker, delete-http-lb, delete-http-lb-config, delete-http-lb-ref, disable-http-lb-application, disable-http-lb-server, enable-http-lb-application, enable-http-lb-server, list-http-lbs, list-http-lb-configs etc. |
LBREC-002 | P1 | Admin command to generate load-balancer xml | Yes | Kshi tiz | 10 | Feature parity | Admin command : export-http-lb-config |
LBREC-003 | P2 | Installer support for Load-balancer plugin | Yes | Kshi tiz | 5 | Feature parity | GlassFish Loadbalancer Configurator already exists. It need to be tested by QE. |
LBREC-004 | P2 | Preferred fail-over instance | Yes | Kshi tiz | 15 | Feature requested by session replication team | |
LBREC-005 | P4 | Pushing load-balancer xml over the wire to web-server | Yes | Kshi tiz | 15 | Feature parity | Admin command : apply-http-lb-changes |
LBREC-006 | P2 | Upgrade Tasks | Yes | Kshi tiz | 15 | Upgrade requirements |
Task | Target Milestone | Start | End Date | Owner(s) | Feature ID | Status / Comments |
---|---|---|---|---|---|---|
Load-balancer one pager | MS1 | 5/10 | 5/20 | Kshi tiz | N.A. | |
Admin command to create load-balancer elements in domain xml : configure-lb-weight, create-http-health-checker, create-http-lb, create-http-lb-config, create-http-lb-ref, delete-http-health-checker, delete-http-lb, delete-http-lb-config, delete-http-lb-ref, disable-http-lb-application, disable-http-lb-server, enable-http-lb-application, enable-http-lb-server, list-http-lbs, list-http-lb-configs etc. | MS3 | 6/7 | 7/19 | Yamini | LBREC-001 | COMPLETED |
Admin command to generate load-balancer xml : export-http-lb-config | MS3 | 6/7 | 7/19 | Kshi tiz | LBREC-002 | COMPLETED |
Pushing load-balancer xml over the wire to web-server | MS3 | 6/7 | 7/19 | Kshi tiz | LBREC-005 | COMPLETED |
Preferred fail-over instance | MS4 | 7/20 | 8/16 | Kshi tiz | LBREC-004 | COMPLETED |
Installer support for Load-balancer plugin | MS5 | 8/17 | 9/13 | Kshi tiz | LBREC-003 | Already available. Probably require some minor changes. Also need to add upgrade support. |
In-place upgrade for load-balancer elements in domain.xml | MS5 | 8/17 | 9/13 | Kshi tiz, Yamini | LBREC-006 | For load-balancer element, device-host and device-port need to be converted to attributes from properties. Remove auto-apply-enabled attribute with suitable warning |