Skip to main content

Introduction

ActiveJ is a Java platform built from the ground up for web, high-load, and cloud programming. ActiveJ is the result of developing a genuinely high-load ecosystem for AdKernel, a Real-Time Bidding ad-serving platform that processes hundreds of billions of requests daily. ActiveJ has a rich stack of technologies without a zoo of diverse solutions tailored together with excessive abstractions. It is a high-performance alternative to Spring, Micronaut, Apache Spark, Quarkus, and other solutions.

Core Features

The distinguishing features of ActiveJ are simplicity, high performance, and consistency. As a result, it is fast, lightweight, and does not contain tons of abstractions and third-party dependencies. Moreover, ActiveJ offers a simple programming approach, prioritizing business logic over framework specifications.

Platform Structure

ActiveJ consists of loosely coupled components that complement and extend each other. Some of them can be used as stand-alone libraries.

Core components:

  • ActiveJ Inject. A lightweight Dependency Injection library with a rich toolkit. Can be used as a stand-alone library.
  • Async I/O core: Promise, Eventloop, Net.
  • Fast asynchronous data stream processing: Datastream, CSP.
  • High-performance HTTP components including asynchronous HTTP clients and servers. Can be used independently of ActiveJ.
  • Bootstrapping and lifecycle management utils: Launcher, Service Graph, JMX, Triggers.

Bytecode manipulation tools:

Cluster technologies:

  • ActiveJ RPC - high-performance binary protocol for developing distributed applications and microservices solutions
  • ActiveJ FS - provides effective tools for developing scalable local or remote file storages with a support of data redundancy, rebalancing, and resharding.

ActiveJ Background

The ActiveJ project is an improved version of the DataKernel framework. Since the release of v3.0, it has been greatly improved and restructured.