Book Image

JBoss EAP6 High Availability

By : Weinan Li
Book Image

JBoss EAP6 High Availability

By: Weinan Li

Overview of this book

High availability is a system design approach and associated service implementation which ensures that a prearranged level of operational performance will be met during a contractual measurement period. High availability is usually a system combined with many different components that achieve different goals. High availability cluster implementations attempt to build redundancy into a cluster to eliminate single points of failure. JBoss EAP6 High Availability is the perfect guide for learning how to apply the newest technologies provided by JBoss to build your high availability system. With a clear explanation of the design of JBoss EAP6 and its clustering components, this book will help you customize each component to fulfill your specific requirements. Throughout the course of this book, you will learn how to build high availability clusters using the projects provided by JBoss. The book begins with an introduction to the design of JBoss EAP6 and its uses. The next step will be to explore the two companion open source projects - mod_jk and mod_cluster. In this section, you will get to grips with the concept of load balancing with mod_jk and mod_cluster. You will also learn how to enable SSL in the clustering environment and how to configure session replication between EAP6 servers. Furthermore, the appendix section introduces you to some troubleshooting techniques for Wildfly.
Table of Contents (15 chapters)
JBoss EAP6 High Availability
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Chapter 8. Developing Distributed Applications

In the previous chapters, we have all concentrated on building a stateless cluster. That means we don't need to maintain a session for each user request, and a load balancer can freely choose a worker node to serve the user requests.

A stateless cluster is more flexible and can scale well, so it's always the first choice when we are building a cluster. In essence, HTTP is a stateless protocol, so it lacks the ability to maintain a session for user requests. To solve this problem, web servers usually pass a session ID to the users' web browsers to maintain a long conversation.

For example, if we are building an online shopping system, we have to maintain a shopping cart for each user. When a user is checking out his/her cart, the total price of the goods in the shopping cart will be calculated. All this data needs to be stored either on the server side or in the cookies of users' web browsers and the data needs to be held across multiple pages...