Let it crash! – the Akka team blog

Looking for hakker!

January 17, 2017

Dear hakkers, As we start into the new year, we have some exciting news to share: we’re looking to expand the core team! If you’re passionate about concurrency, distributed systems and want to help creating bleeding edge technology as part of our team, let us know by applying to the...

category: work

Community Survey 2016 Summary

January 17, 2017

Community Survey 2016 summary While it took us a while to go over the 637 replies replies from the 2016 community survey, now we’re ready to publish a small summary with our interpretation thereof. This is almost twice the amount of respondents than in the 2014 survey! Before we jump...

category: community

Aeron in Artery

December 5, 2016

We are using Aeron as the underlying transport in the new remoting implementation for Actor messages. The Aeron transport is based on UDP but it provides pretty much the same guarantees as TCP when it comes to message order and delivery. It is focused at performance and is more efficient...

category: artery

Streams in Artery

December 2, 2016

The new remoting implementation for actor messages was released in Akka 2.4.11 two months ago. Artery is the code name for it. It’s a drop-in replacement to the old remoting in many cases, but the implementation is completely new and it comes with many important improvements such as: Focused on...

category: artery

Spotlight: GraphStage emit and friends

October 21, 2016

In Mastering GraphStages Part I and Part II we have seen that push and pull are the primary methods to use when implementing a GraphStage. In this post you will learn that GraphStage also comes with other methods that can simplify the logic for some use cases. As an example,...

category: streams

Custom Flows: Parsing XML (part II)

September 23, 2016

In part I we have built an XML parser that reads from a streamed data source and emits streamed XML parsing events as its output. This is a bit low level though to be directly usable, so in this post we will build two helper stages that illustrate how these...

category: integrations

Custom Flows: Parsing XML (part I)

September 16, 2016

In previous posts we have shown how to build basic Sinks and Sources, and how to integrate with existing APIs and handle backpressure in various ways. In this post we move on to the more advanced territory of custom Flows. If you recall, every processing entity in Akka Streams has...

category: integrations

Akka Streams Kafka 0.11

September 10, 2016

Apache Kafka is the leading distributed messaging system, and Reactive Streams is an emerging standard for asynchronous stream processing. It seems natural to combine these two; that’s why SoftwareMill started the reactive-kafka project back in December 2014 and maintained it since. Recently we’ve combined efforts with the Akka team, and...

category: integrations

Flow control at the boundary of Akka Streams and a data provider

September 5, 2016

When working with Akka Streams, one can be assured that all of the data is going to be processed in bounded memory. The reason Akka Streams can guarantee this, is that it implements the Reactive Streams protocol which describes how flow control is to be managed using demand signaling. Having...

category: integrations

Akka Community Survey 2016

September 1, 2016

Dear hakkers, we did a lot this year already. We merged Akka Streams and HTTP into the 2.4 series of Akka, pushed 16 releases of Akka itself, and maintained the various Persistence plugins. We also reached out to create even more community collaboration with projects related to Kafka, and now...

category: community

Writing Akka Streams Connectors for existing APIs

August 29, 2016

Writing an integration from ground up can be daunting and will be an expensive solution to maintain over time. Luckily there is rarely a need to start from zero: the Java ecosystem is rich and if there is something to connect to there often is a library to interface with...

category: integrations

A gentle introduction to building Sinks and Sources using GraphStage APIs (Mastering GraphStages, Part II)

August 25, 2016

As introduced in the previous blog article Akka Streams is highly extensible allowing you to write your own custom stages that can be used in fully asynchronous and back pressured streams. Out of the box there is a multitude of prewritten stages that can be combined to cover many use...

category: integrations

Akka Streams Integration, codename Alpakka

August 23, 2016

We believe that Akka Streams can be the tool for building a modern alternative to Apache Camel. That will not happen by itself overnight and this is a call for arms for the community to join us on this mission. The biggest asset of Camel is its rich set of...

category: integrations

Mastering GraphStages (part I, Introduction)

July 30, 2016

Akka Streams provide a rich set of built-in combinators and utilities that users of the library can combine in flexible ways to achieve new functionality (most notable are the workhorses mapAsync and statefulMapConcat). With the GraphDSL and its first class cycles support one can build reusable pieces out of smaller...

category: streams

Threading & Concurrency in Akka Streams Explained (part I)

July 6, 2016

Akka Streams and streaming has different meaning to different people, but my view is that it is mostly a concurrency construct, like Actors and Futures. The primary goal of streams is to provide a simple way to: build concurrent and memory bounded computations that can safely interact with various forms...

category: streams

Akka Community update July 2016

July 5, 2016

Dear hakkers, With great joy and pleasure we bring to you… the rebooted Akka team blog! This blog aims to provide you with high quality technical content straight from the core team. We’ll go into more detail about “why this blog?”, and how it relates to the other blogs or...

category: community