• USA : +1 973 910 5725
  • INDIA: +91 905 291 3388
  • info@tekslate.com
  • Login

High Availability and Scalability in JBoss

Requirements

Fault Tolerance

Reliability

Uptime guarantee

Stable Throughput – Scalability

Provide consistent response times in light of increased system load

Manageability of Servers

Server upgrade with no service interruptions

Clustering: General understanding

cluster is a set of nodes that communicate with each other and work toward a common goal

Cluster provide these functionalities:

         Scalability (can we handle more users? can we add hardware to our system?)

         Load Balancing (share the load between servers)

         High Availability (our application has to be uptime close to 100%)

         Fault Tolerance (High Availability and Reliability)

State is conserved even if one server in the cluster crashes

High Availability and numbers

UptimeDowntime per year
98%7.3 days
99%87.6 hours
99.9%8.8 hours
99.99%53 minutes
99.999%5.3 minutes
Interested in mastering JBOSS?Check out this blog post to learn more JBOSS Tutorials.

Clustering and JBoss

Support clustering with a built in configuration ⇒ all configuration

Can also be integrated to an external balancer

A cluster is defined by:

         Multicast Address

         Multicast Post

         Name

Multicast is the protocol which allow nodes inside to a cluster to communicate without knowing each other.You can think of multicast of a radio or a TV channel, only those who are tuned received the information. Communication between nodes is provided by JGroups, which is library for multicast communication.

       All JBoss clustering services are built on top of JGroups

JBoss web architecture

Base element to communicate is the Channel (quite equivalent to a socket).

All messages received and sent over a Channel have to pass through the protocol stack.

JBoss AS serves both static and dynamic content.

Not scalable. Additional users can only be handled by improving the performance of the server (e.g. adding additional CPUs, more memory).

No fault tolerance. If the JBoss AS server goes down, the entire service becomes unavailable.

External Load Balancer Architecture

external load balancer

Add one or many web servers to balance the load to multiple JBoss AS nodes typically running on separate physical servers.

Additional user load can be handled by adding another server running JBoss AS.

If any one of the JBoss AS nodes fail, the service is still available through other JBoss AS servers.

General configuration for the following examples

         Copy the all directory and create two directory (e.g. node1 and node2)

         To run the first node : ./run.sh -c node1 -b 127.0.0.1 -Djboss.messaging.ServerPeerID=1

         To run the second node : ./run.sh -c node2 -b 192.168.1.180 -Djboss.messaging.ServerPeerID=2

You need to bind the servers to different address or else one of the JBoss instances won’t start. jboss.messaging.ServerPeerID has a unique value for each instances, this is required for JMS clustering services.

For indepth understanding on JBoss click on:

Summary
Review Date
Reviewed Item
High Availability and Scalability in JBoss
Author Rating
5

“At TekSlate, we are trying to create high quality tutorials and articles, if you think any information is incorrect or want to add anything to the article, please feel free to get in touch with us at info@tekslate.com, we will update the article in 24 hours.”

0 Responses on High Availability and Scalability in JBoss"

    Leave a Message

    Your email address will not be published. Required fields are marked *

    Site Disclaimer, Copyright © 2016 - All Rights Reserved.

    Support


    Please leave a message and we'll get back to you soon.

    I agree to be contacted via e-mail.