Zero Epic Fabric

Maven Central Apache License 2 Build Status

This project is based on Vert.x, the idea came from Spring-Boot framework. It could help developers focus on business requirements instead of more details of Vert.x. The project contains two parts “Up” and “Zero”. “Up” means running up, “Zero” means no more workload for high producation, you could run your project with default configuration only.

Micro Service architecture is a future focused method to design and build mature system and help more companies to implement project faster, based on this idea, Zero Framework came out. It’s micro-service oriented framework and will be verified by real projects. Also it provide a tool set to help developers to do correct things. Now there are two enterprise application cases those are implemented by Zero, although the number is small, but the cases could verify that Zero can be used in production environment instead of tool, demo or good looks.

This framework contains four sub-projects, all these projects are located under vertx-gaia sub-project.

In latest version, examples have been moved to https://github.com/silentbalanceyh/vertx-zero-example

If your wan’t to study vert.x development skill, you can refer chinese tutorial:《Vert.x逐陆记》. ( In Progress )

0. Features

In 2019, Zero Framework has been re-factor to new version 0.5.x and here I provide the feature list to let developers know more details in Zero Framework: Feature List.

1. Documentation

You can refer the link to see documents of Zero Framework: Offical Document

2. Envrionment

2.1. Configuration in pom.xml

If you want to use Zero framework, you can add following dependency into you pom.xml to use Zero:

    <parent>
        <artifactId>vertx-import</artifactId>
        <groupId>cn.vertxup</groupId>
        <version>0.5.2</version>
    </parent>

2.2. Start Up

In your project, you can provide main entry only as following to run Zero ( Annotated with @Up ) .

import io.vertx.up.VertxApplication;
import io.vertx.up.annotations.Up;

@Up
public class Driver {

    public static void main(final String[] args) {
        VertxApplication.run(Driver.class);
    }
}

Once the Zero is up, you can see following logs in your console ( The default port is 6083 ):

[ ZERO ] ZeroHttpAgent Http Server has been started successfully. \
    Endpoint: http://0.0.0.0:6083/

2.3. Logging in Zero

You also could use following function in your coding to get Logger component instead of log4j because we have re-designed the detail implementation of logging system.

// Zero Logger initialized, connect to vert.x logging system directly but uniform managed by zero.
import io.vertx.up.log.Annal;

// Then in your class
public final class Statute {

    private static final Annal LOGGER = Annal.get(Statute.class);
    ......
}

3. Case in Action

  1. TLK Video Mobile System ( 0.4.6 )
  2. Micro Hotel Platform
  3. ZZBank CMDB/ITSM Platform

DESIGNED IN CHINA