Book Image

Akka Cookbook

By : Vivek Mishra, Héctor Veiga Ortiz
Book Image

Akka Cookbook

By: Vivek Mishra, Héctor Veiga Ortiz

Overview of this book

Akka is an open source toolkit that simplifies the construction of distributed and concurrent applications on the JVM. This book will teach you how to develop reactive applications in Scala using the Akka framework. This book will show you how to build concurrent, scalable, and reactive applications in Akka. You will see how to create high performance applications, extend applications, build microservices with Lagom, and more. We will explore Akka's actor model and show you how to incorporate concurrency into your applications. The book puts a special emphasis on performance improvement and how to make an application available for users. We also make a special mention of message routing and construction. By the end of this book, you will be able to create a high-performing Scala application using the Akka framework.
Table of Contents (18 chapters)
Title Page
About the Authors
About the Reviewer
Customer Feedback

Integrating Akka Streams with Kafka using Reactive Kafka

Apache Kafka is a distributed messaging system that is becoming an industry favorite. A messaging system is commonly used to decouple application components and help scale out system architectures. Apache Kafka has the peculiarity of writing messages directly into the disk instead of memory. Initially, this might seem like a showstopper. However, this technique allows Apache Kafka to achieve extremely high message rates thanks to both sequential writes and the partitioning system. Kafka has demonstrated that it is capable of consuming and delivering millions of messages per second.

In this recipe, we will use Kafka 0.10.1. We will create two streams. The first one will publish to a Kafka topic. The second one will consume from it. Both the streams use the same topic, namely akka_streams_topic. 

Getting ready

For this recipe, we will assume we have an Apache Kafka broker running locally on port 9092. In order to install it, follow the...