Chapter 1. Executive Summary

Ensuring the availability of production services is critical in today’s IT environment. A service that is unavailable for even an hour can be extremely costly to a business. In addition to the need for redundancy, large servers have become less and less cost-efficient in recent years. Through its clustering feature, Red Hat® JBoss® Enterprise Application Platform (EAP) 7 allows horizontal scaling by distributing the load between multiple physical and virtual machines and eliminating a single point of failure. Efficient and reliable group communication built on top of TCP or UDP enables replication of data held in volatile memory, thereby ensuring high availability, while minimizing any sacrifice in efficiency. The domain configuration capability of JBoss EAP 7 mitigates governance challenges and promotes consistency among cluster nodes.

This reference architecture stands up two JBoss EAP 7 clusters, each set up as a separate domain, one active and another passive, to eliminate any downtime due to maintenance and upgrades. Each cluster consists of three JBoss EAP instances running the provided full-ha profile, while customizing it based on the application requirements. Through in-memory data replication, each cluster makes the HTTP and Enterprise Java™ Beans (EJB) sessions available on all nodes. A second-level cache is set up for the Java Persistence API (application programming interface)(JPA) layer with the default option to invalidate cache entries as they are changed. The ActiveMQ Artemis subsystem is configured to use shared store high availability (HA) policy. An instance of Red Hat JBoss Core Services Apache HTTP Server 2.4 sits in front of the JBoss EAP domain, balancing web load with sticky behavior while also ensuring transparent failover in case a node becomes unavailable.

The goal of this reference architecture is to provide a thorough description of the steps required for such a setup, while citing the rationale and explaining the alternatives at each decision juncture, when applicable. Within time and scope constraints, potential challenges are discussed, along with common solutions to each problem. JBoss EAP command line interface (CLI) scripts, configuration files and other attachments are provided to facilitate the reproduction of the environment and to help the reader validate their understanding, along with the solution.