Akka

Cloudstate (Part 6): Reversing the Tradition

Reading Time: 2 minutes In our previous blog post, Cloudstate (Part 5): How to work with it?, we learned how to work with Cloudstate. But in this blog, we are going to learn that Cloudstate has reversed the traditional architecture of multi-layered application. What is the Tradition? In a traditional multi-layered application, each layer (of the application) will invoke another layer to retrieve and manipulate its state. This approach Continue Reading

Cloudstate (Part 5): How to work with it?

Reading Time: 2 minutes In our previous blog post, Cloudstate (Part 4): A Bird’s Eye view of its Design, we had a look at bird’s eye view of Cloudstate‘s design. To continue the streak, we are going to learn, how to work with Cloudstate in this blog. Choose Your Language Wisely To work with Cloudstate the first step we need to take is, decide the programming language of our Continue Reading

Building Stateful Systems with Akka Cluster Sharding

Building Stateful Systems with Akka Cluster Sharding

Reading Time: 5 minutes This post was written in collaboration with Lightbend, a Knoldus’ Partner. Most microservices applications are stateless, which means they delegate persistence and consistency to a database or external storage. But sometimes there’s a benefit to keeping state inside the application.  If you’ve worked with data storage systems long enough, you are bound to bump into the term “sharding“. Sharding is another word for partitioning and Continue Reading

Cloudstate (Part 4): A Bird’s Eye view of its Design

Reading Time: 2 minutes In our previous blog posts, we came to know about, What is Cloudstate? Why we need it? and Why we need to give a second thought to the way CRUD operations are done in Serverless Computing? In this blog post, we will have a look at bird’s eye view of Cloudstate‘s design. Let’s take a look at its design. Bird’s Eye View of Design Cloudstate Continue Reading

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