java - Is there a risk from sharing Application server (tomcat) between more that web applications -
i want use more 1 copy of similar application in shared tomcat , want increase memory size, there risk of action ?? how can increase performance?
session switching, security, integrity, performance issue, threads risk, deadlocks
actually there performance impact. in case don't share 1 thread pool between different applications (you can in tomcat) shouldn't receive thread/deadlocks risks.
but under performance impact — mean in comparing launching applications on different servers. there no significant performance difference between launching few applications on single tomcat or launching few tomcat sing applications on board.
but: there @ least few limitation:
- you can't use different versions of shared libraries. if looks on ./lib folder in tomcat — there libraries jsp-api, servlet-api, jasper. if applications limited use different specific versions — can issue (it can solved also, addition limitation).
- to reload/update 1 application in cases need reload tomcat, need stop/start applications hosted on tomcat.
with 1 of benefits launch few applications in 1 tomcat — can save ram. example: if few of application use same library — can move on ./lib folder, library picked in memory once (not once per each application).
p.s. web applications can hosted in many ways, prefer 2 concepts: many micro-services embedded webserver(tomcat/jetty) in case of using soa/microservice architecture or hosting few applications on single tomcat in other ways.
Comments
Post a Comment