Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


It is unlikely that you will be able to build a production environment based solely on demo-server.  The services are designed for a cloud deployment in which services run in containers and scaling up is achieved by spinning up new instances. Demo-server runs one instance of each service, plus an embedded version of Eureka, MariadbPostgreSQL, Cassandra, and ActiveMQ locally.


This is the spring boot deployable.  When running it registers with a Eureka server, connects with a mariadb PostgreSQL and a cassandra Cassandra database, and provides a REST interface, with endpoints grouped into permittable groups.  When initialize is called for a tenant within the service, the service allocates tables and other resources specifically for that tenant. GET calls are implemented against the mariadb PostgreSQL using spring data jpa, and PUT, POST, and DELETE calls cause cassandra-persisted commands to be placed on command bus and processed asynchronously into the SQL PostgreSQL DB.


This is a Feign client to make it easier for java clients to communicate with the service.  The api artifact contains constants defined for listening to ActiveMQ events emitted by the service.  The api artifact also contains constants naming the permittable groups which define the permissions which the service offers.  The api artifact contains any domain object validation code, and the unit tests for that validation code.