3 ms·
A lot of Storm was written in Java, but the "core" was written in Clojure. There wasn't so much a "decision" to dump Clojure as much as a community "opportunity
by pixelmonkey 5y ago
A lot of Storm was written in Java, but the "core" was written in Clojure. There wasn't so much a "decision" to dump Clojure as much as a community "opportunity" to do so. My understanding is that Alibaba, one of Storm's production adopters, did a clean-house port from Clojure to Java, which they called jstorm. They then donated/offered that implementation to the Apache Storm project, and the project decided to base the Storm 2.x line on it. So Storm 1.x still has the Clojure core, with lineage to the original Backtype release, but 2.x is sourced from jstorm. A big focus of Storm 2.x was high-scale performance, latency, and backpressure management. I also heard that some folks in the open source Storm community suspected it might be easier to find contributors/committers for Storm if it were implemented in Java. Meanwhile, Heron sprung up as a performance-focused Storm alternative with API compatibility to Storm, before Storm 2.x took shape.