Build and deploy a microservice architecture where Super Heroes fight against Super Villains.
There are several workshops available that you can follow depending your needs:
-
Develop the Super Heroes with Quarkus: If you are a developer, are new to quarkus, then this workshop might interest you. You will develop, from scratch, a set of microservices accessing databases, Kafka channels and exposing APIs. Check https://quarkus.io/quarkus-workshops/super-heroes/index.html to get the workshop instructions.
-
Deploy the Super Heroes to Azure Container Apps: If you are interested in deploying an already made application to Azure Container Apps, then this workshop is for you. You will not develop any Quarkus (you don’t even need Java tools), but you will be pushing Docker containers, creating managed services on Azure (databases, Kafka) and monitoring the entire system (watch a video presenting the workshop). Check https://quarkus.io/quarkus-workshops/super-heroes/index-azure.html to get the workshop instructions.
You can either generate the documentation for each exercise or for the entire workshop.
For that, you just run the Maven command mvn clean generate-resources
under the docs
directory.
You can then open the docs/target/generated-asciidoc/spine.html
page and read the entire documentation of the workshop.
To generate the zip files, execute the following command from the root of the project:
$ mvn assembly:single -N
This generates the following zip files
-
dist/quarkus-super-heroes-workshop.zip
: contains the bare minimum code to follow up the workshop -
dist/quarkus-super-heroes-workshop-complete.zip
: contains all the code (useful if you get lost or want to jump a section of the workshop)
This workshop requires a couple of extra technical services (databases, kafka…).
Start them using the docker-compose.yaml
file located in the infrastructure
directory:
$ cd infrastructure
$ docker compose up
Stop them using:
CTRL+C
$ docker compose down
$ docker compose rm
To build the entire code, you need to run the following commands from the root project (also see how we activate the complete
profile):
$ mvn clean install -f super-heroes/extension-version
$ mvn clean install -Pcomplete
-
Run the infrastructure and build the complete system as explained above.
-
In a new terminal, run the heroes microservice
$ cd rest-heroes
$ mvn clean compile quarkus:dev
-
In a new terminal, run the villains microservice
$ cd rest-villains
$ mvn clean compile quarkus:dev
-
In a new terminal, run the fights microservice
$ cd rest-fights
$ mvn clean compile quarkus:dev
-
In a new terminal, run the fights microservice
$ cd event-statistics
$ mvn clean compile quarkus:dev
-
heroes microservice → 8083
-
villains microservice → 8084
-
fights microservice → 8082
-
stats microservice → 8085, ui on http://localhost:8085/
-
Prometheus → 9090