Hi all, I work at Terracotta and I think there are many things about
Clojure that make it very interesting as a Terracotta target.  The
focus on immutable data structures is particularly fascinating and
presents some unique challenges for Terracotta.  One thing that we
spend a lot of time focusing on how is to deal with minimizing
broadcast of changes in collections like maps.  I haven't decided yet
whether the immutable data structure focus actually makes this harder
or easier.  I suspect it gives us the tools to do more but will
require customization to take best advantage of it.

I'm a total clojure newb but I am currently rotating between reading
Hoare's "Communicating Sequential Processes", Armstrong's Erlang book,
and Stu's new Clojure beta book.  I will emerge on the other side
either as a guru or more likely hopelessly confused. :)

At some future point, I'd love to work on clustering Clojure with
Terracotta if only to learn more about it and understand it more
deeply.  From the discussion above, I think the key thing to keep in
mind with Terracotta is that it's not a message-passing architecture;
rather it's clustered memory (and notification).  So it helps make
changes in one node appear in all nodes.  In that sense, it's very
much targeted towards a shared-memory approach, not an actor/messaging
approach.  However, many people have built pipe and messaging
abstractions with TC as a substrate so I think that's an interesting
approach.

Looking forward to learning more about it...

Alex

On Nov 26, 6:21 am, dokondr <[EMAIL PROTECTED]> wrote:
> Rich,
> I readily acknowledge the diversity of message passing frameworks for
> Java.
> Notwithstanding, I think it makes sense to think about distributed
> message passing mechanism inherent to Clojure language, like the one
> Erlang has.
> It is Erlang abstraction of light-weight processes and extreme ease of
> reliable, synchronized communication between these processes running
> on one or
> many distributed 'nodes', it is all that that makes Erlang so great
> for real world distributed tasks!
> Clojure could have become a great next step in this direction!
>
> Dima
>
> On Nov 25, 4:11 pm, Rich Hickey <[EMAIL PROTECTED]> wrote:
>
> > On Nov 24, 6:41 pm, dokondr <[EMAIL PROTECTED]> wrote:
>
> > > Any ideas how Clojure can be used for distributed concurrent
> > > applications ?
> > > To my mind it should be possible to implement in Clojure  mechanism
> > > similar to Erlang light-weight processes running on distributed
> > > 'nodes' that can be addressed by 'ports' to send them 'commands'.
> > > How this can be done with Clojure 'agents'?
> > > An obvious solution would be to create an 'agent proxy' on every node
> > > that will maintain a list of its  agents and will forward (send ...)
> > > messages to other nodes, as well as receive messages addressed to its
> > > own agents from remote nodes and then deliver these messages to
> > > correct agents.
> > > Addressing scheme and message protocols should be developed as well.
> > > Other ways to provide for communication between nodes?
>
> > There's JMS:
>
> >http://en.wikipedia.org/wiki/Java_Message_Servicehttps://mq.dev.java....
>
> > XMPP:
>
> >http://en.wikipedia.org/wiki/Xmpphttp://www.igniterealtime.org/projec...
>
> > JXTA/Shoal:
>
> >http://en.wikipedia.org/wiki/Jxtahttps://shoal.dev.java.net/
>
> > JINI:
>
> >http://en.wikipedia.org/wiki/Jinihttp://incubator.apache.org/projects...
>
> > DHTs like Pastry:
>
> >http://freepastry.org/
>
> > JGroups:
>
> >http://www.jgroups.org/javagroupsnew/docs/index.html
>
> > Terracotta:
>
> >http://www.terracotta.org
>
> > Jinterface:
>
> >http://www.erlang.org/doc/apps/jinterface/
>
> > NetKernel:
>
> >http://www.1060.org/
>
> > and more. All useful from Clojure.
>
> > Given the diversity, sophistication, maturity, interoperability,
> > robustness etc of these options, it's unlikely I'm going to fiddle
> > around with some language-specific solution.
>
> > That said, I have been thinking about putting a simple wrapper API
> > around queues that would work both locally and over something like
> > JMS.
>
> > Rich
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" 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/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to