A good resource about "what is microservice" is available on internet. Follow these links for example:
##About This Project Base microservice architecture example. Contains several microservice projects that I'll explain below. Written on Java.
These projects was made using following technology stack:
- Spring Boot, includes Cloud, Rest, JPA with Hibernate, Security, etc
- Maven, so it will be easy for you to open in your favorite IDE. I use Eclipse STS, so some files specific for Eclipse STS was included on .gitignore
- Swagger & Springfox for API documentation. There is a special note about using Swagger here
- Lombok so your code will less verbose
You don't have to be a Java expert to read the source, but you need to know how to code with Java, and better yet if you already know Spring MVC and Spring JPA with Hibernate. If you don't have any experience with Java / Spring, I suggest you go to udemy or udacity and take their free course.
The project was built using Spring Cloud stack for microservice, includes sample Netflix Eureka server. To get optimal demo experience will took a moment. Just follow this sequence:
- Start eureka
- Start zuul
- Start all other services, sequence doesn't matter. For each service will take about 30 seconds until zuul recognized endpoint mapping.
The project intended to give brief description about microservice architecture on Spring technology stack.
For development ease, all services will be defaulted to run on localhost, with different ports. You can configure this settings on each individual project configuration file (application.yml)
Below is the list of project available in this repo. See detailed description for each project in their own readme.
##Folder : Documentations More documentation for those who don't mind read it:
##Project : Eureka Netflix eureka server using Spring Cloud, running on port 8761. See this project for sample spring cloud-netflix discovery service using Eureka.
##Project : Zuul Basic reverse proxy using Spring Cloud, running on port 8080. See this project for sample spring cloud-netflix reverse proxy using Zuul.
##Project : Security Sample rest client for security, running on port 8181. See this project for sample spring security.
##Project : Category Sample rest client for shop categories, running on port 8182. See this project for sample spring REST inter-process communication using RestTemplate with running Eureka. Also, this project shows example usage of circuit breaker pattern using Hystrix.
##Project : Product Sample rest client for shop products, running on port 8183. See this project for sample spring REST inter-process communication using Netflix Feign Client with running Eureka.
##Project : Email Sample rest client for email utilities, running on port 8184. See this project for sample spring boot mail for gmail.
##Project : Hystrix Running on port 8185. Example of hystrix dashboard & turbine.