An open API service indexing awesome lists of open source software.

https://github.com/yeniceri98/spring-boot-microservices

Microservice Architecture with Spring Boot
https://github.com/yeniceri98/spring-boot-microservices

docker google-cloud kubernetes redis spring-boot spring-cloud unit-testing

Last synced: about 2 months ago
JSON representation

Microservice Architecture with Spring Boot

Awesome Lists containing this project

README

          

___ Swagger ___


auth-microservice: http://localhost:8085/swagger-ui/index.html

user-microservice: http://localhost:8086/swagger-ui/index.html


___ auth-microservice PostgreSQL Docker Image ___

docker run -d --name authservice-postgres --env POSTGRES_DB=authdb --env POSTGRES_USER=user --env POSTGRES_PASSWORD=123 -p 5432:5432 postgres:latest


___ user-microservice MongoDB Docker Image ___

docker run -d --name userservice-mongo -p 27017:27017 -e MONGO_INITDB_DATABASE=userdb mongo:latest


___ MongoDB Compass ___


Select DB: use userdb

Read & Write Permision: ({user: "user",pwd: "123",roles: ["readWrite","dbAdmin"]})


___ Redis Docker Image ___

Redis: docker run --name microservice-redis -p 6379:6379 -d redis

Redis GUI (RedisInsight): docker run -d --name redisinsight -p 8001:8001 redislabs/redisinsight


___ Creating Docker Images for Projects ___

1) Maven Plugin Approach (auth-microservice & user-microservice)

- application.properties file better to be UTF-8
- spring-boot-maven-plugin should be in pom.xml

- dockerhubusername/anyname-${project.artifactId}:${project.version}

- Maven > Plugins > spring-boot > spring-boot:build-image command should be executed

2) Dockerfile Approach (git-config-server)

- At first, Maven > package command should be executed

- After the execution, there should be .jar file inside the target folder

- Dockerfile should be created in project's main directory

- After the configuration is done, one of the commands below should be run:


For Local Image: docker build -t myimage .

For Docker Hub Image: docker build -t dockerhubusername/myimage .

Docker Hub Images:

https://hub.docker.com/repository/docker/ahmetyeniceri/mmv2-auth-microservice/general

https://hub.docker.com/repository/docker/ahmetyeniceri/mmv2-user-microservice/general

https://hub.docker.com/repository/docker/ahmetyeniceri/git-config-server-0.0.1/general

NOTES:
- Images can be push to Dockerhub in Docker Desktop.

- In both approaches, Docker Compose can be used for easier management.

___ Kubernetes - Google Cloud ___

gcloud container clusters get-credentials cluster-name --region us-central1 --project project-name

kubectl apply -f deployment-service.yaml

kubectl get deployment ---> Deployment check

kubectl get service ---> Service check

kubectl get pods ---> Pod check

kubectl get rs ---> ReplicaSet check