Finagle : Controlling the Future Of RPC systems

Finagle : Controlling the Future Of RPC systems

Knoldus

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

Finatra : Building Rest APIs Made Simple

Finatra : Building Rest APIs Made Simple

Knoldus

Finatra is an open-source project by Twitter that can be used to build REST APIs in Scala programming language. Finatra is a framework for easily building API services on top of  Twitter-server, Finagle, and Twitter-util.

  1. Finagle: It provides the building blocks for most of the code we write on the JVM. It has long-served as our extensible, protocol-agnostic, highly-scalable RPC framework
  2. Twitter Server:It provides elegant integration with twitter flags for parameterizing external server configuration, an HTTP admin interface, tracing functionality, lifecycle management, and stats.
  3. Twitter-Util: A bunch of idiomatic, small, general purpose tools for Scala.

1---tqJ-9f9eLNZU2kh0zmFg
Finatra allows you to easily define a server and (in the case of an HTTP service) controllers — a service-like abstraction which define and handle endpoints of the server. You can also compose filters either per controller, per route in a controller, or across controllers.

Building A Simple Hello Application

In This Blog , We Will…

View original post 827 more words

Cassandra Database : The Next Big Thing

Cassandra Database : The Next Big Thing

Knoldus

Apache Cassandra, a top level Apache project born at Facebook , is a distributed database for managing large amounts of structured data across many commodity servers, while providing highly available service and no single point of failure.

BASIC FLOW OF DATA INTO CASSANDRA TABLES

write-path.png

Installation

In a terminal window:

1. Check which version of Java is installed by running the following command:

$ java -version

It is recommended to use the latest version of Oracle Java 8 or OpenJDK 8 on all nodes.
2. Download Apache Cassandra 3.0:

$ curl -L http://downloads.datastax.com/community/dsc-cassandra-version_number-bin.tar.gz | tar xz

To view the available versions, see the DataStax Certified Cassandra download page.

3. If you download from this page, use the following command to untar:

$ tar -xvzf dsc-cassandra-version_number-bin.tar.gz

4. To configure Cassandra, go to the install/conf directory:

$ cd dsc-cassandra-version_number/conf

Additional Information :

View original post 560 more words