Using NGINX to Load Balance WebSphere
Using NGINX to Load Balance WebSphere
Join the DZone community and get the full member experience.Join For Free
Learn how error monitoring with Sentry closes the gap between the product team and your customers. With Sentry, you can focus on what you do best: building and scaling software that makes your users’ lives better.
[This article was written by Faisal Memon]
NGINX and NGINX Plus can be used to load balance IBM WebSphere Application Servers. With NGINX and NGINX Plus you can handle a larger volume of users while providing an overall faster and more consistent user experience for your WebSphere application.
To help customers get the most out of their WebSphere deployments, IBM and NGINX, Inc. have published a new deployment guide, Using NGINX to Load Balance WebSphere. This guide details how NGINX and NGINX Plus can be utilized as a load balancer and application delivery controller for WebSphere.
IBM WebSphere Application Servers typically use the IBM HTTP Server (IHS) for application delivery. IHS uses a thread-per-connection architecture where a thread is dedicated to each connection until completion. Under low or medium load this performs well; however, under heavy load or during a DoS attack the problems with this architecture begin to surface. For example, if there is a large number of concurrent connections, the thread pool can get exhausted, delaying new connections indefinitely.
NGINX addresses these and other problems with the thread-per-connection approach. NGINX uses asynchronous operations to achieve high concurrency without the overhead of threads. This architecture allows NGINX to scale and handle a large number of simultaneous connections using a very small memory footprint. In addition to performance and scale, NGINX provides a number of benefits for WebSphere Applications:
- Event-driven architecture – NGINX allows for much greater scalability and resilience to traffic spikes and DOS attacks.
- SPDY and HTTP/2 support – NGINX supports the SPDY protocol, and plans to support HTTP/2 before the end of 2015. SPDY and HTTP/2 offer improved performance over HTTP/1.1.
- Load balancing – NGINX offers a variety of load balancing algorithms allowing you to scale out your WebSphere Applications as well as maintain high availability.
- SSL termination – NGINX can terminate SSL connections to offload that work from the WebSphere Application Servers.
- Caching – NGINX provides a highly capable cache for both static and dynamic content, with NGINX Plus adding even more features and capability.
And NGINX Plus, the commercial version of NGINX, provides additional enterprise-ready features:
- Proactive health checks – NGINX Plus proactively monitors WebSphere Application Servers and removes unhealthy servers from the pool.
- Session persistence – NGINX Plus can leverage the JSESSIONID cookie to ensure session persistence.
- Advanced load balancing – You can specify a connection limit to prevent WebSphere Application Servers from being overwhelmed. Connections past the limit are queued.
- Live activity monitoring – NGINX Plus has a real-time activity monitoring interface that provides key load and performance metrics.
How Do I Get Started?
To get started using NGINX Plus with WebSphere, download the new deployment guide developed by IBM and NGINX. It provides step-by-step instructions on how to configure our software to appropriately load balance and scale your WebSphere Application. Configuration files for open source NGINXand NGINX Plus are also available so you don’t have to cut and paste from the deployment guide.
Experienced with WebSphere but new to NGINX Plus? Take advantage of our30-day free trial or contact us for a live demo, and see for yourself how NGINX Plus can boost the performance and manageability of your WebSphere application.
Published at DZone with permission of Patrick Nommensen , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.