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.
Glossary of elements
Id | Name | Description |
---|---|---|
Eventstore container | A Docker container that runs a PostgreSQL instance that contains the CQRS eventstore. | |
Snapshotstore container | A Docker container that runs a PostgreSQL instance that contains the cache of snapshots. | |
Vert.X container | The 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.