In the first of our series on migrating away from Oracle GlassFish Server, we will look at replacing the functionality of the Load Balancer Configurator, and its potential alternatives.
Load Balancer Configurator Plugin - what is it?
The Load Balancer Configurator Plugin integrates with a web server and configures the load balancing and smart instance fail over of a cluster of GlassFish instances. The plugin detects instance failure and redirects HTTP traffic directly to the instance that will host a backup session (and handles session replication as well), and detects when instances recover and rejoin a cluster automatically. The plugin comes with an installer that simplifies its installation and configuration through a nice visual user interface and it also allows for a command line installation on headless servers as well.
This is a feature used to simplify the work of configuration the load balancer for a GlassFish cluster. The plugin installer brings a graphical user interface that connects to a web server of your choice with a cluster configuration from a GlassFish installation. The plugin configures this connection and propagates changes done from the Admin console to the web server in question.
However, this plugin is limited in Oracle GlassFish, as it only supports a small subset of web servers:
- Apache Web Server
- Oracle HTTP Server
- Oracle iPlanet Web Server
- Microsoft IIS
While Apache Web Server (httpd) is a very popular option, many popular software load balancers such as NGINX, lighttpd and haproxy are not supported. Furthermore, proprietary hardware load balancers are also not supported, so users of appliances supplied by the likes of F5, Cisco or IBM would not be able to configure the load balancer with this method.
How can it be replaced?
In the years since this feature was introduced, Apache httpd's reign as the de facto leader in the sphere of software load balancers has been seriously challenged. From a market share above 60%, it has slipped to below 40%. This is mainly due to the continued rise in popularity of NGINX, but also a greater number of other web server technologies.
With this in mind, Payara Server developers made the decision not to replace this plugin since, to configure load balancing on Web Servers in 2016, the number of platforms to support would make it unfeasible.
There are a lot of great open source and commercial Web servers in the market (Apache Web Server, NGINX or HAProxy, for example) that offer extensive documentation on how to manually configure load balancing for different HTTP services. We recommend the following setups if you are considering the use of a load balancer with Payara Server:
- Use Apache Server with the mod_jk connector and configure an HTTP JK-enabled listener on the Payara Server cluster configuration.
- Configure a Nginx web server to redirect HTTP traffic and use the nginx-sticky-module-ng to maintain sticky sessions. We have already given an overview of this in a previous blog post.
If you want to migrate from GlassFish to Payara Server make sure you also check our our Migration Guide here.
In the second blog from the GlassFish to Payara Server migration series available here, we're looking at the Domain Administration Server backup & recovery.