1GB is certainly pretty small for the JVM world, if you’re thinking of running 
multiple apps / sites as separate JVM processes.

 

However, there are several ways around that.

 

It’s common in the JVM world to have a single “web server” process load and run 
multiple “web applications”. A servlet container (Tomcat, Jetty, JBoss…) runs 
multiple apps each packaged as a WAR file (a zip file with some additional 
metadata).

 

Another option is to package multiple applications into one uberjar and start 
up multiple apps on different ports directly inside your own code, or you could 
use a single app with middleware that selects a different set of routes for 
each different domain / port / however you distinguish between your apps 
externally.

 

Bottom line: having each app as a separate uberjar, spinning up in a separate 
JVM isn’t the most scalable way of running multiple apps on a single server.

 

For comparison, at World Singles, we have about 100 sites running on (a cluster 
of instances of) a single web application under the hood. The domain being 
requested determines how the request is handled – in our case the skin and 
theme of each site, along with a lot of other metadata, is all dynamic and 
based on the domain name. Our sites are similar enough that this is possible. 
That’s for the main customer-facing sites. We also have an affiliate web site 
and an internal admin web site. Those three codebases are each, essentially, a 
WAR-based app and all three can run on a single Tomcat instance (on each server 
in the cluster). We run a single JVM with 10GB heap configured for Tomcat on 
each of a cluster of servers, each with 64GB RAM (our database servers are in a 
separate cluster and have 128GB RAM each, I believe).

 

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

 

On 1/3/17, 2:16 PM, "Seth Archambault" <clojure@googlegroups.com on behalf of 
sethvi...@gmail.com> wrote:

 

Haha thanks for pointing that out - I mispoke - 1024 mb of ram - 1 gig of ram. 
Using a $10 a month Vultr account. 1000 gigs would be a tad expensive!

On Monday, January 2, 2017 at 8:27:19 PM UTC-5, William la Forge wrote:

Seth, something seems amiss. 1,000 GB is 1,000,000 MB. At 84 mb per jar, you 
can spin up 11,904 jar files. Which is worse than only being able to run only 
dozens of PHP apps.

 

--b 

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to