tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ty <>
Subject Re: multi-tenant web app
Date Tue, 16 Apr 2013 13:27:43 GMT
On Fri, Apr 12, 2013 at 6:08 AM, Jamie <> wrote:

> Greetings!
> I would like some advice with regards to deploying a web app in a
> multi-tenant scenario. A while back, we had a few cloud service providers
> ask us if they could host our web app as a service. Under pressure to come
> with a quick solution, we responded by implementing a manager like
> application (much like the Tomcat manager app), that could deploy
> additional web apps by copying the contents of our WAR file to a new
> directory under webapps . For instance:
> webapps\customer1
> webapps\customer2
> etc.
> This approach works but it presents several problems:
>  * When there are a large number of webapps, Tomcat takes a long time
>    to load. This can be mitigated to a minor extent with TC7's new
>    parallel load feature.
>  * Tomcat uses alot more memory that it would otherwise since it has to
>    load the classes pertaining to each webapp multiple times
>  * The contents of one war file is duplicated several times. When there
>    are a large number of webapps, it becomes difficult to manage all
>    the files and state of the server.
> The advantage of the approach is that each web app can potentially run a
> different version of our software.
> My question is - how does one configure TC7 such that it will:
>  * Have the ability to load the same webapp multiple times, while
>    pointing it to one WAR file webapp path
>  * Prevent Tomcat from loading the class files and resources of the
>    same WAR file multiple times
>  * Start up each app as fast possible
>  * Such as that the addition of new instances will be as scalable as
>    possible.
> Much appreciate

> Jamie

+1.  Would love to hear what others do about this.  In my experience, what
Jamie describes (running lots of similar/identical apps side by side in the
same container) and the resulting overhead (long load times, bigger memory
footprint, massive duplication of webapp files) is the norm that folks have
just learned to deal with in one way or another.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message