This page describes some deployment aspects of the Cubitt framework.

Container deployment view

This view describes the docker containers used to deploy the Cubitt back-end.

1545

A view on which how the micro-services will be spread over docker containers.

Glossary of elements

IdNameDescription
Eventstore containerA Docker container that runs a PostgreSQL instance that contains the CQRS eventstore.
Snapshotstore containerA Docker container that runs a PostgreSQL instance that contains the cache of snapshots.
Vert.X containerThe Vert.X container is the main container in which Vert.X runs and spawns the verticles with the Cubitt micro-services.

For the specific service descriptions, please see the CQRS micro-services view.

Rationale

The original idea was to spawn a new docker container per micro-service. This however causes a lot of overhead and means that a new micro-service/container manager had to be written, so the choice was made to use an existing solution: Vert.X. Vert.X is a framework that uses an actor-like concurrency model, we chose to use it because it takes care of most of the micros-service management. In the current configuration Vert.X has its own docker container in which it spawns verticles whenever microservices are needed.