Modern, reactive Java framework for network applications

Introduction

DataKernel is a full-stack application framework for Java. It contains components for building applications of different scales, from single-node HTTP-server to large distributed systems. DataKernel was inspired by Node.js, so it’s asynchronous, event-driven, lightweight and very easy to use. Moreover, it is completely free of legacy stuff, such as XML, Java EE, etc.

Due to the usage of modern asynchronous I/O, DataKernel is extremely fast, which is proven by benchmarks.

The essential components of DataKernel form the basis of our ad-serving infrastructure at AdKernel, running in production environments and processing billions of requests. Specifically, DataKernel is the foundation for systems that provide real-time analytics for ad publishers and advertisers, user data processing tools that we use for ad targeting, and also web crawlers that perform content indexing on a large scale.

There are four components in DataKernel:

Each of them contains modules which are created for processing diverse complicated tasks in simple and efficient way.

To learn more visit our GitHub repository.

Getting started

Here is a simple “Hello World!” application to get started with DataKernel. It utilizes Eventloop module to process “Hello World” output.

To run the example, enter these commands in your console:

$ git clone https://github.com/softindex/datakernel.git
$ cd datakernel/examples/getting-started/
$ mvn clean compile exec:java@HelloWorld

You can explore more advanced examples and step-by-step tutorials here.