Your design is similar to what we use: an F5 in front of three hosts, each with Apache 2.4 as the web server and Tomcat 8.5 as application server.
The F5 will cache static content, as will the web server (IIS or Apache).
You can run the web server as either a simple reverse proxy to Tomcat, or to serve static content. The BI4 wdeploy utility can automatically do a “split deployment”, in which it deploys the static content to Apache and the dynamic content to Tomcat. wdeploy does not natively support IIS. If you want to do a split deployment with IIS, you’ll need to tell wdeploy you’re deploying to Apache, then copy the files over to IIS and configure the IIS site manually. All in all, it’s better to use Apache, in my opinion.
Clustering will occur at the application server level (Tomcat), not the web server level. With Apache, you’ll use mod_jk to manage the communication between it and Tomcat, and you’ll want each of your two Apaches to communicate with both Tomcats. In this way, if one of the two Apaches goes down, all traffic will be routed to the other one, and active sessions will remain intact. In your diagram, Apache is only talking with the Tomcat on the same server – clustering of Tomcat will do nothing for you in this case, since if TOMCAT1 goes down, there is nothing for Apache1 to talk to.
So:
[list][:df5ba0dfb3]No “clustering” of Apache. The two Apaches are not aware of each other, but both are aware of the two Tomcats.
[:df5ba0dfb3]If an Apache goes down, the F5 will direct traffic to the other Apache, and sessions will continue seamlessly.
[:df5ba0dfb3]With multiple Tomcats but no Tomcat clustering – if a Tomcat goes down, Apache will direct traffic to the surviving Tomcat. BO sessions will terminate and users will be dumped back to a logon page.
[:df5ba0dfb3]With multiple clustered Tomcats – if a Tomcat goes down, Apache will direct traffic to the surviving Tomcat, which will then resume the session. The BO session should continue as if nothing happened (except that anything that the session was doing at the time of the failure will be lost [ex., a report refresh])[/list]
The above is true whether you’re doing a split deployment or a simple reverse proxy. So, they are separate decisions: using a web server to direct traffic to multiple tomcats will help with failover and load balancing. Doing a split deployment will help with performance.
Note that BI4 support for Tomcat clustering is not “on” out of the box. See SAP note 2088195. I haven’t tried this yet but plan to test it.
Joe
joepeters
(BOB member since 2002-08-29)