This repository contains solutions for the katas defined at Microservices-Dojo. This project contains multiples subproject, one for each kata; The katas are the following:
Kata # | Description and Solution Proposed by the Author | My Solution | Tech Stack |
---|---|---|---|
1 | Building Simple Web Service with Spring Boot | Kata-1 | Spring Boot |
2 | Dockerizing Application | Kata-2 | Docker |
3 | Microservice with personal DB and database migrations | Kata-3 | Flyway |
4 | Externalizing configuration | ||
5 | Web Service using Mongo DB | ||
6 | Service talking to another Service | Eureka, Ribbon and Feign | |
7 | Circuit Breaker pattern | Hystrix | |
8 | Edge Service | Zuul |
Complimentary Katas:
Kata # | Description and Solution Proposed by the Author | Tech Stack |
---|---|---|
a | Getting Started with Web client | Angular |
b | Simple Orchestration | |
c | Distributed Logging | ELK Stack |
d | Distributed Tracing | Zipkin |
e | Mesos and Marathon framework | Mesos, Marathon |
Contributed Katas:
Kata # | Description and Solution Proposed by the Author | Tech Stack |
---|---|---|
a | Documenting RESTful APIs with Spring REST Docs | Spring REST Docs |
b | Embedding live service contracts documentation with Swagger | Swagger |
c | Aggregating Container Logs using Elasticsearch, Logbeat and Kibana | ELK Stack |
Because the test scripts are in each submodule the report are in the build/reports/tests/test
. In order to generate and open the test report of the application you execute the following commands:
gradle test
, it can be run in the project or submodule levelopen kata#/build/reports/tests/test/index.html
, where # is the number of the kata
In order to run the application you execute the following commands:
gradle build
, it can be run in the project or submodule leveljava -jar kata#/build/libs/mysvc-0.0.1-SNAPSHOT.jar
.
Let’s health-check our brand new service:
curl http://localhost:8100/actuator/health