Can the Reverse Proxy server co-exist on same host with the CCM application server ?
We are on Windows/Tomcat RTC/RRC 5.0.2, all on same server
IBM had recommended splitting RTC to its own server via a Reverse Proxy Server as a cure for our sluggish performance and frequent (sometimes more than once wkly) hangs, crashes.
We have a spare server (old RRDI server now unused) in each of our 3 envs: Wonder if we can set up this lone spare host to serve as both the reverse proxy server and the CCM application server.
Note that we are contemplating keeping spoofing the public URI for POC and TST env, which IBM has not tested the use with a reverse proxy server and distributed topology and which will help us avoiding server rename each time we refresh POC or TST DB's with PRD clones.
Accepted answer
While it can be done, it is not recommended for performance reasons.
With the reverse proxy on the same machine as the application server, the network traffic would increase exponentially. For each request for the public URI of the application, it would pass through the reverse proxy then to an alternate port on the same host. The reply traffic would then also have to pass back through the reverse proxy to get to the client. So for each request, you would be at least doubling the amount of network traffic the host network card has to process. This can lead to network congestion and performance bottlenecks for that application. There is also the potential for memory and CPU contention as well, depending on the amount of traffic and types of transactions.
With the reverse proxy on the same machine as the application server, the network traffic would increase exponentially. For each request for the public URI of the application, it would pass through the reverse proxy then to an alternate port on the same host. The reply traffic would then also have to pass back through the reverse proxy to get to the client. So for each request, you would be at least doubling the amount of network traffic the host network card has to process. This can lead to network congestion and performance bottlenecks for that application. There is also the potential for memory and CPU contention as well, depending on the amount of traffic and types of transactions.