Author: Himani Arora

Exactly-Once Semantics with Apache Kafka

Kafka’s exactly once semantics was recently introduced with the version 0.11 which enabled the message being delivered exactly once to the end consumer even if the producer retries to send the messages. This major release raised many eyebrows in the community as people believed that this is not mathematically possible in distributed systems. Jay Kreps, Co-founder on Confluent, and Co-creator of Apache Kafka explained its Continue Reading

Kafka Streams

Interactive Queries in Apache Kafka

Apache Kafka v0.10 introduced a new feature Kafka Streams API – a client library which can be used for building applications and microservices, where the input and output data can be stored in Kafka clusters. Kafka Streams provides state stores, which can be used by stream processing applications to store and query data.  Every task in Kafka Streams uses one or more state stores which Continue Reading

Concurrency API

Guide to Java 8 Concurrency API using Executors

Working with the Thread class in Java can be very tedious and error-prone. Due to this reason, Concurrency API was introduced back in 2004 with the release of Java 5 and then enhanced with every new Java release.The API is located in package java.util.concurrent. It contains a set of classes that make it easier to develop concurrent (multithreaded) applications in Java.  The executor services are one of the most Continue Reading

Joins in Kafka

Join Semantics in Kafka Streams

Introduction to core concepts:   Apache Kafka is a distributed streaming platform which enables you to publish and subscribe to a stream of records also letting you process this stream of records as it occurs. Kafka Streams is a client library used for building applications and microservices, where the input and output data are stored in Kafka clusters. Interface KStream<K, V> is an abstraction of Continue Reading

Getting started with Ethereum

What is Ethereum? Ethereum is an open-source blockchain platform that lets anyone build and use decentralized applications that run on blockchain technology. It is an open-source project created by Vitalik Buterin. How is it different from Bitcoin? Bitcoin is not capable of performing calculations that didn’t fit into his limited scripting language. Satoshi Nakamoto, the creator of bitcoin, did not design it to send anything Continue Reading

Starting with Blockchain Chaincode using Golang

Chaincode, or a smart contract is a fragment of code written in supported languages like Java or Go that is deployed onto a network of HyperLedger Fabric peer nodes. In this blog, we will learn how to develop Chaincode using Golang for a blockchain network based on Hyperledger Fabric v0.6. Chaincodes run network transactions which are validated and then appended to the shared ledger. In simple Continue Reading

Message Broker in Lagom using Kafka

What is Lagom? Lagom framework helps in simplifying the development of microservices by providing an integrated development environment. This benefits one by allowing them to focus on solving business problems instead of wiring services together. Lagom exposes two APIs, Java and Scala, and provides a framework and development environment as a set of libraries and build tool plugins. The supported build tools with Lagom are Maven Continue Reading

Introduction to database migrations using Flyway

Let us first understand why are database migrations necessary? Assume that we have a project called Shiny and it’s primary deliverable is a piece of software called Shiny Soft that connects to a database called Shiny DB. We not only have to deal with one copy of our environment, but with several. So the simplest view of our problem will translate to:

Introduction to Actor Model [Akka in a Nutshell #1]

According to Akka documentation, ” An actor is a container for State, Behavior, a Mailbox, Child Actors and a Supervisor Strategy. “ Let us begin by understanding the need of an Actor Model, A lot of things have changed in the present scenario. The processes are getting more coarse, This means in order to execute our programs faster we need to use multiple cores which Continue Reading

Introduction to Kafka Connect

Knoldus organized a half an hour session on 29 July 2016 at 4:00 PM. It covers a brief introduction to Apache Kafka Connect, giving insights about the benefits of kafka connect, its use cases. It also covers the motivation behind building Kafka Connect and an introduction to its architecture. Here is the video for the same.

Introduction to Julia

Introduction to Julia- What is Julia ? “Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. ” It provides a sophisticated compiler and extensive mathematical function library. It has a wide range of statistical packages like R and is easy to write and learn like Python. Benchmark time of Julia relative Continue Reading

%d bloggers like this: