Akka

Introduction to Scanamo Version – 1.0.0-M11

Reading Time: 2 minutes Scanamo Scanamo is a library to make use of DynamoDB with Scala. In this blog, we are going to work on latest version 1.0.0-M11 So, let’s get it started- 1. Add Library Dependencies: – Setup sbt project and add these library dependencies 2. Setup application.conf: – Create application.conf file and place it inside the src\main\resources\ 3. Create Case Class And DAO: – Create case class Continue Reading

Introduction to Akka Http

Reading Time: 2 minutes Akka Http The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream. You can read more in-depth about akka-http from here. Here, we are going to use Intellij for the project setup and Scala as a programming language. The steps are as follows:- 1. Importing library dependencies 2. Creating User case class We are going to create Continue Reading

Introduction to Alpakka DynamoDB

Reading Time: 3 minutes Alpakka DynamoDB This AWS DynamoDB connector provides a flow for streaming DynamoDB requests, using Akka stream and AWS java DynamoDB SDK. And in this blog, we are going to work on version 1.1.2 So, let’s get it started- 1. Add Library Dependencies: – Setup sbt project and add these library dependencies in build.sbt 2. Setup application.conf: – Create application.conf file and place it inside the Continue Reading

Rebalancing in Akka Cluster Sharding

Reading Time: 4 minutes In this blog we will be discussing about one of the important feature of Akka Cluster Sharding which is Rebalancing. Before moving forward make sure you have some basic knowledge on Akka Cluster Sharding, if not then please read Introduction to Akka Cluster Sharding and Implementing Akka Cluster Sharding. Before directly diving into this amazing feature which akka sharding provides, lets first understand the need Continue Reading

Cloudstate (Part 3): Giving a Second-Thought to CRUD

Reading Time: 4 minutes In this blog post, we will take a slight detour from Cloudstate and understand why we need to give a second thought to the way CRUD operations are done in Serverless Computing. Before diving deep into the need of reconsidering CRUD operations strategy in Serverless Computing, let’s first understand CRUD. What is CRUD? CRUD is an acronym for the four general operations that a database Continue Reading

Demystifying Dispatchers in Akka

Reading Time: 2 minutes As the name suggests ‘dispatch‘ decides when the actor should dispatch a message and when it does not have to. In the situation in which you think that your actor system must get faster but it’s not working as per expectation then dispatchers are the first place, you should look at. It’s up to the Dispatchers to decide when to allow the actor to process Continue Reading

Supervising Actors in Akka

Reading Time: 3 minutes After going through the previous blogs, we are now familiar with Akka Actors, their implementation and the Ask pattern. In this blog, we are going to discuss about supervision and various supervision strategies. So, let’s begin. What is Supervision? In case of failure, rather than forcing it back on the caller(customer), we prefer to handle it internally. Within Akka, it is done using a technique Continue Reading

Understanding Testing of Akka Actors

Reading Time: 2 minutes We may sometimes say the testing situation in Akka is a little confusing. In this blog you’ll learn about how the actors are tested in Akka. In Akka generally we have two kinds of tests, synchronous and asynchronous which some people term as ‘unit‘ and ‘integration‘ tests. ‘Unit tests‘ are synchronous, you directly test the receive method without requiring an actor system, etc. ‘Integration tests‘ Continue Reading

Scheduling Messages in Akka

Reading Time: 2 minutes Take a situation where you want to make an actor sleep and it should resume after a period of time. Or you want your actor to perform a task on a recurring basis then you must schedule a message. Here I will discuss how to do that !! Scheduled delivery of messages Often, a need exists to schedule the sending of a message to an Continue Reading

What is Ask Pattern in Akka?

Reading Time: 3 minutes After going through the previous blogs, we are now familiar with Akka, Actors, and their implementation (implementing-actors-in-akka). In this blog, we are going to discuss the Ask Pattern in Akka. So, let’s begin. Communication Among Actors In Akka, actors communicate with each other by sending and receiving messages. The messages can be sent in many patterns like- Fire and Forget –The tell() method works on Continue Reading

Understanding Akka Actor Lifecycle

Reading Time: 3 minutes So, here is a glimpse of how an Akka Actor Lifecycle works. The actor lifecycle begins as soon as the actor is created. The stages of an Akka Actor Lifecycle are as follows – preStart() Start Stop postStop() terminated Starting Actors Creating an actor automatically starts it. A started actor is fully operable. We can start an Actor with a preStart() hook. And for more Continue Reading

Implementing Actors in Akka

Reading Time: 2 minutes After going through the previous blog (Introduction to Akka), we are now familiar with the term Akka. In this blog, I am going to talk about Actors and their implementation. So, let’s begin. What Are Actors? Actors were invented in 1973 by Carl Hewitt. Akka is an implementation of the Actor Model. The Actor is the fundamental unit of computation embodying processing, storage, and communication. Continue Reading

Introduction To Akka

Reading Time: 2 minutes In this blog I’m going to talk about Akka – What is Akka, some design principles behind it, and why was it developed. So let’s begin. What is Akka? Akka is a toolkit and runtime for building highly concurrent, distributed, and fault-tolerant message-driven applications on the JVM (Java Virtual Machine). So, understanding each keyword- Toolkit – By toolkit, it means that it’s not heavy-weight. The Continue Reading