An implementation of the basics algorithms and data structures on micro services / spring boot applications. (WIP)
MIT License
This project is a test bed for microservices applications running on the latest technologies around Java + Spring + Containers.
For avoiding having a poor example of data, the subject of the microservices will be around Algorithms and Data Structures. So, the microservices will implement a few of the basic algorithms (search, sorting, common problems, etc.). I'm using the book Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne, as a base for the algorithms and data structures.
For making things easier, all microservices projects are subproject/modules from this maven project. That will make things easier than have separated git repositories for each one.
I've also added some module prefix for a better understanding:
app-algorithms > Subproject for the app gateway microservice project.
lib-core > Subproject with few reusable codes for the microservices implementation. Just a library.
lib-data-structures > Subproject with data structures implementation. Just a library.
ms-problems-service > Subproject for the problems microservice.
ms-searching-service > Subproject for the searching microservice.
ms-sorting-service > Subproject for the sorting microservice.
server-admin > Subproject for the server admin.
server-eureka > Subproject for the service discovery - eureka server/service.
The apps are deployed as containers on the cloud. Please feel free to test it.
Eureka Server:
Admin Server:
App Algorithms:
Searching Service:
Sorting Service:
Problems Service:
The faster way, running using the docker images that the last successful build generated.
docker-compose up
It should start up all the services. That is it. Play around and have fun! :)
Getting the code and compiling and running it.
.\mvnw install docker:build -D maven.test.skip=true
Note: skipping the testing for speeding up
docker-compose up