“Why do you always choose Microservices over me?” said the Monolithic architecture


Ever wondered why do companies like Apple, eBay and Netflix care so much about microservices? What makes this simple architecture so special that it is being hyped so much? Is it worth the pain and efforts to shift an entire running application from monolithic to microservices architecture? Many such questions came to our minds when we started using the microservices in our projects.
In this blog, we will try to cover the answers to these questions and have a deeper look into the microservices architecture and compare it with the monolithic architecture.

 What Are Microservices and how are they different from Monolithic?


Microservices are small, autonomous services that work together. Let’s simplify this definition a little bit more.
Microservices – also known as the microservice architecture – is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice architecture…

View original post 1,435 more words


The curious case of Cassandra Reads


In our previous blog, we discovered how Cassandra handles its write queries. Now it’s time to understand how it ensures all the read requests are fulfilled. Let’s first have an overall view of Cassandra. Apache Cassandra is a free and open-source distributed NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

Now Let’s jump to how Cassandra handles the read queries.

Reading in Cassandra 

In Cassandra, it is easy to read data because clients can connect to any node in the cluster to perform reads, without having to know whether a particular node acts as a replica for that data.
If a client connects to a node that doesn’t have the data it’s trying to read, the node it’s connected to will act as coordinator node to read the data from a node that…

View original post 917 more words

Cassandra Writes: A Mystery?


indexApache Cassandra is a free and open-source distributed NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

It is a peer to peer database where each node in the cluster constantly communicates with each other to share and receive information (node status, data ranges and so on). There is no concept of master or slave in a Cassandra cluster.Any Node can be coordinator node for each query.

In this blog, we’ll take a look behind the scenes to see how Cassandra handles write queries. For Cassandra Basics and installation, you can refer to our earlier blog.

Writing in Cassandra

When a client performs a write operation against a Cassandra database, it processes data at several stages on the write path, starting with the immediate logging of a write and ending in with a write of…

View original post 911 more words

Reactors.IO: Actors Done Right

Reactors.IO: Actors Done Right


In our previous blog, we tried to explore the upcoming version of i.e Java 9. So this time we try to focus on Scala . In This Blog , We will be Looking onto a New Reactive programming framework for Scala Applications i.e Reactors IO .

reactress-gradientReactors.io fuses the Best parts of Functional reactive Programming and the Actor Model.
allows you to create concurrent and distributed applications more easily, by providing correct, robust and composable programming abstractions.Primarily targeting on JVM , the Reactors framework has bindings for both Scala and Java.

Setting Up Reactors.io

To get started with Reactors.IO, you should grab the latest snapshot version distributed on Maven. If you are using SBT, add the following to your project definition :


Then Simply Import the io.reactors package: import io.reactors._  and you are ready to go.

View original post 1,077 more words

Did Someone Say Java 9 ??

Did Someone Say Java 9 ??


In our previous blog , we discussed the features that were added in Java 8.
More than three years after the release of Java 8, the next version is now just around the corner with a tentative release date of September 21st, 2017.


You may have heard about Java 9’s module system, but there’s even more to this new version. In this blog, We will try to cover some of them.

One can download JDK 9 EA (Early Access) software from Java 9 Download


So without wasting any time  Let’s Begin with the New features in Store :  

Java 9 REPL(JShell)

View original post 1,249 more words

Like Java 7 ? Then You Are Going to Love Java 8 !!

New to Java 8? Here’s Where You can Start.


JAVA 8 (aka jdk 1.8) is a major release of JAVA programming language development. With the Java 8 release, Java provided support for functional programming, new JavaScript engine, new APIs for date time manipulation, new streaming API, etc. which will be discussed in detail.
In this blog, we will focus on What’s New in Java 8 and it’s usage in a simple and intuitive way.We assume that you are already familiar with Java 7.

If you want to run programs in Java 8, you will have to setup Java 8 environment by following steps :

  1. Download JDK8 and install it. Installation is simple like other java versions. JDK installation is required to write, compile and run the program in Java.
  2. Download latest Eclipse IDE/IntelliJ , these provide support for java 8 now. Make sure your projects build path is using Java 8 library.


New Features

There are dozens of features…

View original post 1,307 more words

Finagle : Controlling the Future Of RPC systems

Finagle : Controlling the Future Of RPC systems


logoIn this blog we’ll use Finagle to build a very simple HTTP server that is also an HTTP client — an HTTP proxy.

So Let’s Begin With Some Introduction to the Finagle.

Finagle is an extensible Remote Procedure Call (RPC system) for the JVM, used to construct high-concurrency servers.

Twitter Finagle is a great framework to write distributed applications in Scala or Java. It is written in Scala, but provides both Scala and Java idiomatic APIs.
It implements uniform client and server APIs for several protocols, and is designed for high performance and concurrency.

Finagle uses a clean, simple, and safe concurrent programming model, based on Futures. This leads to safe and modular programs that are also simple to reason about.

Finagle provides a robust implementation of:

  • connection pools, with throttling to avoid TCP connection churn;
  • failure detectors, to identify slow or crashed hosts;
  • failover strategies…

View original post 782 more words