« Tired of Jargon and Vendor Gobbledygook | Main | Synopsis of my QCon London Talk Today »
March 7, 2008
Question for Scala users
posted by ari
In a recent blog post, Jonas Bonér explains a bit about his experiments with clustering Scala actors using Terracotta. My question is, how many of you out there want this Terracotta Integration Module for your production application? If enough speak up, I will make sure it makes it into the formal product kit. For now, the project is sitting in the Forge Labs while Jonas, Orion and I incubate it with the Scala folks.
Let me know either by email (ari AT terracotta DOT org) or via commenting on this blog. And if you start working with it, please let us know how it is going.
--Ari
Trackback Pings
TrackBack URL for this entry:
http://blog.terracottatech.com/cgi-bin/mt/mt-tb.cgi/44
Comments
I would love to see Jonas's work get into the formal Terracotta production kit. Scala's actors and Terracotta's transparent distribution would make a perfect match.
Posted by: Ophir Radnitz at March 8, 2008 12:33 AM
Me too! That would be awesome!
Mats
Posted by: Mats Henricson at March 9, 2008 12:35 AM
+1!
Posted by: Janne at March 10, 2008 12:59 AM
We definitvely consider Terracotta as a solution for our distribution in our company and would appreciate a support for Scala dev.
Posted by: Stephane Le Dorze at March 19, 2008 9:35 AM
Yes, definitely!
Posted by: Dianne Marsh at April 1, 2008 12:40 PM
As a software engineer in the MMO game world, I'm very interested in anything which helps address safe and efficient concurrency and distribution; things like Erlang are great, but perhaps Scala is in some ways even better since it lives with the JVM ecosystem. Being able to plug into something like Terracotta or GigaSpaces would make the JVM-based possibilities even more compelling. (In other words, I'm a bit techno-nerd who would love to be able to experiment with this kind of a technology ;-)
Posted by: Raoul Duke at April 26, 2008 12:56 PM
This would make it possible to use Scala in environments where only Java is an option today. Please do it.
Posted by: Michael Nascimento Santos at April 26, 2008 1:10 PM
We have a distributed image processing application created in Scala and would definitely be interested in Terracotta integration.
Posted by: Andrei Formiga at April 26, 2008 1:28 PM
I would definitely like to see Jonas' work made production ready. I'd love to have this as an option for a parallelized version of my GA toolkit (http://code.google.com/p/jiva-ng/). I'd also love to have this as an option that I can recommend to my clients.
Posted by: Lalit Pant at April 26, 2008 7:27 PM
Well, then, let's put together a research project in the Terracotta Labs with you guys as contributors and move the ball forward. I will reach out to all of you via email.
Cheers,
--Ari
Posted by: ARI ZILKA at April 26, 2008 9:19 PM
In the abstract, I am interested in Terracotta for Scala Actors.
However, given that the throughput is extraordinarily limited (currently 3,000 messages per second and maybe with some tuning 10K-15K messages per second), I can't think of a real use for it.
I can send far more than this number of messages across RabbitMQ (for example). With RabbitMQ the queues have similar durability properties to Terracotta, but RabbitMQ can scale in a mesh with no single point of failure or fail-over.
If Scala Actors/TC can solve the "Twitter" problem (100M Actors, 5M messages/second across the grid with durability and no single point of failure), then, yes, it's worth it. Short of that, using Scala's Remote Actors (which are much improved) or RabbitMQ seems to be a much better solution. Additionally, because a TC solution introduces post compilation, post developer-box byte-code re-writing, there's a QA risk that's not present with the other solutions.
Sorry to be a downer. I was very, very excited about the possibility of using TC as a way of linearly scaling lift apps via Scala Actors, but the realities haven't come close to the necessary performance.
Posted by: David Pollak at April 27, 2008 11:08 AM
This is wonderful news and a huge score for both communities! Some of the work with Scala I am doing now is closely linked with Terracotta and I look forward to helping this project as much as my time allows. Send me a copy of that email :-).
Posted by: Daniel Green at April 28, 2008 12:36 AM
+1
Posted by: sawan at April 28, 2008 7:16 AM
David,
I will reach out to you offline. Sorry you had such a bad experience, but your conclusions are just that: one man's experience.
I will try to help. But I must point out up front that twitter has to be custom IMO. So few in the world are doing 5MM messages / second. That's 432BB messages per day. I would build such a thing in a custom manner. Meanwhile Even if a single TC instance can only handle 15K / day, that's 1.3BB / day. Not that small at all. In fact Walmart, Amazon, EBay do more like 2BB messages per day...not 432BB. FWIW. And TC can be striped, contrary to what it seems you were told.
Given that there are at least 10 others here who want to build the thing, I think we shall proceed. Looking forward to your inputs and understanding the roadblocks you have come across. Thanks.
--Ari
Posted by: ARI ZILKA at April 28, 2008 8:29 AM
My opinion is that even though the combination may not solve a particular problem, it will still greatly benefit both communities. Not only would the options for Scala programmers be expanded, but it would be IMHO a huge step forward in the right direction for Terracotta. Support for JVM languages is going to be important in the coming (and even current) days. At the very least this sets an important precedent and explores new ground that's clearly worth exploring.
Posted by: Daniel Green at April 28, 2008 8:34 PM