Implementing Akka Cluster Sharding

Reading Time: 3 minutes Now that we have a basic understanding of Akka Cluster Sharding in my previous blog. Let’s have a look at how we are going to implement this and what are the things that we need to keep in our mind while doing that.  To shard a specific type of actor we use the cluster sharding akka extension, and we call it as start, we can Continue Reading

Introduction to Akka Cluster Sharding

Reading Time: 3 minutes When we think of sharding or partitioning it’s typically related to databases. Databases uses sharding to improve resilience and elasticity. The Akka Toolkit provides Cluster Sharding as a way to introduce sharding in your application. Instead of distributing database records across a cluster, we’re distributing actors across nodes in the cluster, and it enables running at most one instance of a given actor at any Continue Reading

Comparison between different streaming engines

Reading Time: 5 minutes Distributed stream processing engines have been on the rise in the last few years, first Hadoop became popular as a batch processing engine, then focus shifted towards stream processing engines. Stream processing engines can make the job of processing data that comes in via a stream easier than ever before and by using clustering can enable processing data in larger sets in a timely manner. Continue Reading

Alpakka : Creating Data Pipelines

Reading Time: 4 minutes In my previous blogs I discussed about akka-streams , materialization and graphs in akka-stream . It was so easy to create sources, sinks and flows and connect them using methods and create runnable graphs. Now consider a situation where I’m getting data from Kafka and want to push it in Cassandra or Elasticsearch ? How to create such source or flow or sink that can Continue Reading

Achieving Concurrency with Akka Actors

Reading Time: 3 minutes Java comes with a built-in multi-threading model based on shared data and locks. To use this model, you decide what data will be shared by multiple threads and mark as “synchronized” sections of the code that access the shared data. It also provides a locking mechanism to ensure that only one thread can access the shared data at a time. Lock operations remove possibilities for Continue Reading

Akka-Streams: All About Materialization!

Reading Time: 4 minutes In my previous blog, I discussed about the basics of akka-stream. Basically, it was an introduction to akka-stream to get you started. There I mentioned about materialization which is a really important concept in Akka-Streams. And in this blog I’m going to discuss about it and some related topics in detail. So, let’s begin ! Akka-Streams Basics Let’s revisit the basics first. So, the data Continue Reading

Getting Started with Akka-Streams

Reading Time: 4 minutes As the world is growing, so is the data. And analysis of this data has become important. But how will you do it? How will you work with the data whose size is unknown to you? A solution to this scenario is Akka-Streams and here I’m going to discuss it. In this blog you will get to know the basics of Akka-Streams just to get Continue Reading

Backpressure in Akka Streams

Reading Time: 4 minutes “Reactive Streams”, whenever we come across these words, there are two things that come to our mind. The first is asynchronous stream processing and the second is non-blocking backpressure. In this blog, we are going to learn about the latter part. Understanding back pressure According to the English dictionary, back pressure means “Resistance or force opposing the desired flow of fluid through pipes”. To define Continue Reading

Scale Out with Cluster Sharding

Reading Time: 3 minutes If your actors are distributed across several nodes in the cluster, Cluster Sharding allows you to interact with them without worrying about their physical location and using only their logical identifier. Even if an actor re-locates to a new node, Akka will take care of locating it for you. You just need to send a message to it as if it is located on your local node.

Understanding data persistence in Lagom

Reading Time: 4 minutes When we create any microservice, or in general any service, one of the biggest task is to manage data persistence. Lagom supports various databases for doing this task. By default, Lagom uses Cassandra to persist data.

Akka Dispatcher- All that you need to know

Reading Time: 4 minutes Pre-requisite knowledge: Basics of Akka and Actor System. Fun fact: Did you know that ActorSystem has a heart? Well yes, the ActorSystem is considered to have a heart and it is the “Dispatchers”. We will see how, in this blog. In the real world, dispatchers are the communication coordinators responsible for receiving and passing messages. For example, in emergency services like 911, the dispatchers are Continue Reading