/vertx-blueprint-microservice

Vert.x Blueprint Project - Micro-Shop microservice application

Primary LanguageJavaApache License 2.0Apache-2.0

Vert.x Microservice Blueprint

Travis Build Status

Vert.x blueprint application - A micro-shop microservice application developed with Vert.x. This repo is intended to be an illustration on how to design microservice architecture and develop microservice applications using Vert.x.

This blueprint works with Vert.x 3.4.1.

Note: We are refactoring the whole architecture of the microservice blueprint. This can take a long time and the improved new version is expected to be released by the end of May. See here for details.

Content

  • Microservice with Vert.x
  • Asynchronous development model
  • Reactive and functional patterns
  • Event sourcing patterns
  • Asynchronous RPC on the clustered event bus
  • Various type of services (e.g. REST, message source, event bus service)
  • Configuration retriever
  • Service discovery
  • Circuit breaker
  • Polyglot persistence support
  • API gateway
  • Global authentication (Local/OAuth 2)
  • Centralized logging using ELK stack
  • Monitoring

Documentation

Detailed tutorials are available here!

Architecture

Microservice Architecture

Build/Run

First, for api-gateway and monitor-dashboard component, you have to enter the src/main/resources/webroot directory and install the frontend dependencies with bower:

bower install

Then build the code:

mvn clean install -Dmaven.test.skip=true

To run the microservice with Docker Compose, please refer to the running instruction.

Contributing

Contributions are definitely welcome !