AS Java Cluster Architecture
The AS Java cluster is a set of processes that work together to build a scalable and reliable system. The cluster architecture is transparent to the client and appears to it as a single server unit.
An AS Java cluster consists of several types of instances, each one of which has an instance number and can be started, stopped and monitored separately. They are:
● Central services instance
The central services instance consists of a Message Service and Enqueue Service. They are responsible for lock administration, message exchange and load balancing within the Java cluster.
● One or more Java instances
A Java instance consists of an Internet Communication Manager (ICM) and one or several server processes. The ICM handles requests coming from clients and dispatches them to the available server processes, which actually process the requests.
● Database
The database stores system and application data. There is one central database. It is also possible to have several application databases.
An appropriate cluster setup is one of the main prerequisites for the efficient performance of your system. You can scale the Java cluster by installing additional Java instances to your system, or by adding server processes to an already existing Java instance. For high availability reasons, the different instances can be split up among different physical machines.
A minimum AS Java cluster installation consists of a central services instance, one Java instance with one server process, and a database.

A larger AS Java installation can have several Java instances with more than one server process each, a central services instance, and a database.

The purpose of load balancing is to distribute inbound client requests optimally to the available resources. Efficient distribution of the load enables reliability and availability of the system and smooth running of applications.
● Load Balancing Among Java Instances
There is a central load balancer, which lies between the Internet and your system and serves as the entry point for all user requests. For this purpose, you can use the SAP Web dispatcher. It is a standalone program that distributes incoming Web requests (HTTP, HTTPS) evenly among the Java instances within your AS Java cluster.
More
information:
SAP Web
Dispatcher
If the request is coming from an external client over a remote protocol (RMI-P4), it either goes to the Message Server, which dispatches it to an available Java instance, or it is directly dispatched to an ICM that redirects the request to one of the server processes in the Java instance.
● Load Balancing Within the Java Instance
After client requests are dispatched to the Java instances, they are then handled by the ICM. The ICM chooses the most appropriate server process within the Java instance and dispatches the request to it.