I recently published a comparison of akka-stream and scalaz-stream, with code examples (same problems implemented using both libraries) on SoftwareMill’s blog.
Category: Akka
MacWire 1.0 is here!
A couple of days ago MacWire 1.0 was released! If you don’t yet know what MacWire is: a light-weight and non-intrusive Scala Dependency Injection library. In fact, it’s more of an approach to DI (see the step-by-step guide), than a library. Another good thing – it’s definitely not a framework…
Clustering reactmq with akka-cluster
In the last two posts on reactmq, I described how to write a reactive, persistent message queue. The queue has the following characteristics: there is a single broker storing the messages, with potentially multiple clients, either sending or receiving messages provides at-least-once-delivery; receiving a message blocks the message; unless it…
Making the Reactive Queue durable with Akka Persistence
Some time ago I wrote how to implement a reactive message queue with Akka Streams. The queue supports streaming send and receive operations with back-pressure, but has one downside: all messages are stored in-memory, and hence in case of a restart are lost. But this can be easily solved with…
Reactive Queue with Akka Reactive Streams
Update 15/09/2014: introduced API changes from akka-streams 0.7.Update 30/10/2014: introduced API changes from akka-streams 0.9.Update 15/12/2014: introduced API changes from akka-streams 1.0-M1. Reactive streams is a recently announced initiative to create a standard for asynchronous stream processing with built-in back-pressure, on the JVM. The working group is formed by companies…
Spray server in a Docker container
Docker is a pretty new, but very exciting project; with Docker you can create lightweight, self-sufficient containers with any application inside, and later run the containers on a variety of hosts. The same container can be run locally, as well as on production on a large scale. Moreover, running the…
Akka vs Storm
I was recently working a bit with Twitter’s Storm, and it got me wondering, how does it compare to another high-performance, concurrent-data-processing framework, Akka. What’s Akka and Storm? Let’s start with a short description of both systems. Storm is a distributed, real-time computation system. On a Storm cluster, you execute…
ElasticMQ 0.7.0: long polling, non-blocking implementation using Akka and Spray
ElasticMQ 0.7.0, a message queueing system with an actor-based Scala and Amazon SQS-compatible interfaces, was just released. It is a major rewrite, using Akka actors at the core and Spray for the REST layer. So far only the core and SQS modules have been rewritten; journaling, SQL backend and replication…
Typed ask for Akka
Akka is a great tool for writing distributed applications. One thing that always surprised me though is that while being based on Scala, which is a very type-safe language, the elementary construct in Akka – an actor – is not really type safe. You can send any message to any…