One big difference in JRuby compared to C Ruby is the fact that for concurrency 
most Rubyists are used to running N processes and tools/etc are geared toward 
that scenario. There are plenty of problems with running this way, like the 
requirement for stateless servers, external caching, and lack of sharing of VM, 
framework, and application state across instances. One advantage is real 
process isolation and cross-request (or cross-user) security. 

I am interested in the state of the art for doing this on the JVM.

Before you try to call out Java security policies, note that they can do 
nothing about malicious code that wants to consume all available heap, occupy a 
thread forever, or use up all available file descriptors. All of these can be 
done with isolated processes, usually using an external monitoring tool like 
God.

Azul has something called JVM virtualization that may be able to handle these 
cases, but I am not sure if it is available for their commodity-hardware-based 
Zing (for which they are very reluctant to give trial licenses, anyway).

It would probably be possible to roll your own, using a combination of God (or 
similar), mod_jk*, and a lightweight sever like Tomcat. But of course you are 
rolling your own AND paying the cost of JVM, Tomcat, and application invariants 
for each instance.

So, anyone else looked into this or have suggestions?

- Charlie (mobile)

-- 
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en.

Reply via email to