cancel
Showing results for 
Search instead for 
Did you mean: 

AS-Java ICM Load Balancing??

former_member193518
Active Participant
0 Kudos

Hello All,

A quick question/clarification required.

Here is the scenario:

2x NW731 AS-Java instances, JC1 and JC2, on separate servers.

1x NW731 SCS in a cluster.

No Web Dispatcher has been used (or harmed) anywhere in the scenario.

If I have a HTTP call direct into the ICM of JC1 which is listening on port 80, is this ICM talking to the message server in the SCS, and is it possible that this HTTP call can be routed to JC2 (on the other server) if JC2 is less utilised ?

My thinking is, no.  I don't think it can because of session related details.

However, the documentation I've found here:

http://help.sap.com/saphelp_nw73ehp1/helpdata/en/4b/1bc9db0ae17394e10000000a42189b/frameset.htm

Shows that the ICM is talking to the message server.

It also states that the ICM will load balance across the Java Server processes *within the instance*.  OK, so I knew that bit was possible.

The doc here:

http://help.sap.com/saphelp_nw73ehp1/helpdata/en/48/0728F74C6A3837E10000000A42189B/content.htm

States that the message server is talking to the ICM (which one?) and that it provides availability information about Java Server processes, to the ICM (which one?).  Is it talking to both ICMs and only telling them about the availability of their own instance's Java Server processes?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

No, it's the other way around. The message server queries and holds a list of all connected dialog instances. The ICM on JC1 does not dispatch to ICM on JC2, even if both are connected to the same message server. You will have to either use the load balancing features of the HTTP message server (not recommended by SAP), SAP Web Dispatcher (recommended by SAP) or a 3rd party product.

former_member235680
Active Participant
0 Kudos

Hi Darryl,

Request you to have a look on below part again in your shared links,

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Load Balancing in AS Java

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.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++