Storm is Fancy
Fancy is yet another programming language targeted Rubinius VM. I found it on Twitter/Backtype’s Storm tree. It looks Storm supports Streaming Hadoop like inter-language support. And strom.fy should be a driver for Fancy-written bolt – Bolt is a unit of task in stream processing in their term. I love Storm’s Sekai-kei naming preference. Bolt, Spout, Nimbus… There are much of cute names!
Storm is mixture of Java and Closure. I originally suspected that Closure is just a task-description language for Storm, but they actually write its system using Closure. Although I didn’t find any advantage of Clojusre over other JVM languages like Scala, it’s clear that they love Closure.
Note that their system is not self-contained. They depend on ZeroMQ as its messaging system, Thrift as their RPC. (No more Sexp messaging!) But at least their cluster management system seems written in Clojure. I found supervisor.clj The name indicates something similar to Erlang supervisor.
For someone who is interested in how Storm task looks like, here is a word count example in Storm codebase. It’s much like a Hadoop/Mapreduce, except it’s push-based. Storm is like SAX where Hadoop is like XPP. Well, this metaphor may be no longer relevant. Time flies…