{"id":19059372,"url":"https://github.com/evertonsavio/spring-cloud-microservices","last_synced_at":"2026-05-12T12:30:21.542Z","repository":{"id":144462845,"uuid":"301140509","full_name":"evertonsavio/spring-cloud-microservices","owner":"evertonsavio","description":"Java Spring Boot Microservices - (Netflix Stack). Config Server, Discovery Server, Zuul Gateway, Resource Server, Rabbitmq e Node.js eureka client.","archived":false,"fork":false,"pushed_at":"2020-11-15T18:41:57.000Z","size":740,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-02T12:13:03.803Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evertonsavio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-04T13:47:37.000Z","updated_at":"2024-10-04T22:28:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce06d720-b1fe-4b89-a2ed-260e57f85599","html_url":"https://github.com/evertonsavio/spring-cloud-microservices","commit_stats":null,"previous_names":["evertonsavio/spring-cloud-microservices"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evertonsavio%2Fspring-cloud-microservices","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evertonsavio%2Fspring-cloud-microservices/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evertonsavio%2Fspring-cloud-microservices/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evertonsavio%2Fspring-cloud-microservices/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evertonsavio","download_url":"https://codeload.github.com/evertonsavio/spring-cloud-microservices/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240113943,"owners_count":19749829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T00:08:47.783Z","updated_at":"2026-05-12T12:30:21.486Z","avatar_url":"https://github.com/evertonsavio.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JAVA Spring Cloud Microservices (NETFLIX Stack)\n\n* Adicionar a anotacao @EnableEurekaServer na classe principal.  \n  \n*Adicionar em resources/application.properties:\n```\nserver.port=8010\nspring.application.name=discoveryservice\neureka.client.register-with-eureka=false\neureka.client.fetch-registry=false\neureka.client.serviceUrl.defaultZone = \"http://localhost:8010/eureka\"\n```  \n--------------\n### Criar Users Microservice  \n\n* @EnableDiscoveryClient na classe principal e em application.properties:  \n```\nserver.port=0\nspring.application.name=users-ws\neureka.client.serviceUrl.defaultZone = http://localhost:8010/eureka\nspring.devtools.restart.enabled = true\n```  \n  \n### ERROR: RabbitMQ started but can't access management interface\n* Solution: rabbitmq-plugins enable rabbitmq_management  \n  \n### mappingModel List\u003cUserDto\u003e\n* https://www.baeldung.com/java-modelmapper-lists  \n  \n### AWS \n  \n* Gerar chave, baixar. No diretorio da chave executar:  \n```\nchmod 400 mykey.pem\n  \nssh -i \"aws-microservices-keypair.pem\" ec2-user@ec2-18-230-82-253.sa-east-1.compute.amazonaws.com\n  \nsudo yum update\n```\n  \n### Docker Commands Cheat Sheet\n\n* http://appsdeveloperblog.com/docker-commands-cheat-sheet/\n\n  \n* Install Docker on AWS EC2\n```\n    sudo yum install docker  \n    sudo service docker start  \n    sudo usermod -a -G docker ec2-user  \n    exit  \n    ssh -i \"aws-microservices-keypair.pem\"  ec2-user@ec2-18-230-82-253.sa-east-1.compute.amazonaws.com  \n    docker info\n```\n  \n* Run RabbitMQ Docker Container\n```  \ndocker run -d --name rabbit-name-management -p 15672:15672 -p 5672:5672 -p 15671:15671 -p 5671:5671 -p 4369:4369 rabbitmq:3-management\n```\n#### -d Enable to close terminar and rabbiq continue running\n```\ndocker ps\ndocker stop CONTAINER ID\ndocker ps --all\ndocker start CONTAINER\n```\n  \n* Configurar as PORTAS no grupo de segurança da AWS as regras de entrada:\n```\nTipo: TCP personalizado\nProtocolo: TCP\nIntervalo de portas: e.g portas do rabbitmq\nOrigem: Qualuquer lugar \n```\n  \n* Conectar ao RabbitMQ: Endereco publico mais a porta 15672\n```\nhttp://ec2-18-230-82-253.sa-east-1.compute.amazonaws.com:15672/\n```\n  \n### DOCKER FAST COMMANDS  \n```\ndocker ps\ndocker ps -a\ndocker run -d --name different_name -\u003e CREATE CONTAINNER\ndocker stop CONTAINER_ID\ndocker start CONTAINER_ID -\u003e INICIALIZA O CONTAINNER\ndocker rm CONTAINER ID -\u003e STILL HAS IMAGES\ndocker images\ndocker rmi IMAGE_ID -f\ndocker inspect CONTAINER_ID -\u003e e.g: To see IP address  \ndocker logs CONTAINER_ID\n```\n  \n* To run RabbitMQ and change Default user name and password:\n  \n```\ndocker run -d --name rabbit-name-management -p 15672:15672 -p 5672:5672 -p 5671:5671 -e RABBITMQ_DEFAULT_USER=user –e RABBITMQ_DEFAULT_PASS=password rabbitmq:3-management\n```\n  \n### Preparando a DOCKERFILE  ./mvnw do spring boot  \n```\n./mvnw clean\n./mvnw package\n```\n* cd target -\u003e Voce encontrará as .jar files dispoíveis.\n  \n```\ndocker build --tag=config-server --force-rm=true . \nobs-1: Se atentar e não esquecer o ponto no final do comando.\nobs-2: dockerfile escrito em minusculo gera erro.\ndocker login --username=havyx\ndocker tag IMAGE_ID havyx/Docker_Hub_REPOSITORY_Name\ndocker push havyx/Docker_Hub_Repository_Name\n```  \n    \n### Run Config Server Docker Container (Criar dockerfile antes of course)  \n  \n```  \ndocker run -d -p 8012:8012 -e \"spring.rabbitmq.host=172.17.0.2\" havyx/config-server\n```\n\n* Configurar porta 8012 na AWS para outros microservicos comunicarem com ela.\n\n* Run Eureka Docker Container\n```\ndocker run -d -p 8010:8010 -e \"spring.cloud.config.uri=http://172.31.0.133:8012\" havyx/sk-eureka-server\n```\n\n* Run Zuul API Gateway Docker Container\n```\ndocker run -d -e \"spring.cloud.config.uri=http://99.79.172.54:8012\" -e \"spring.rabbitmq.host=99.79.172.54\" -p 8011:8011 havyx/sk-zuul-api-gateway\n```\n\n* Run Elasticsearch Docker Container\n```\ndocker run -d --name elasticsearch --network api_network -p 9200:9200 -p 9300:9300 -e \"discovery.type=single-node\" elasticsearch:7.3.0\n```\n\n* Run Kibana Docker Container\n```\ndocker run -d --network api-network -p 5601:5601 kibana:7.3.0\n```\n\n* Run Albums Microservice Docker Container\n\n```\ndocker run -it -d -e \"eureka.client.serviceUrl.defaultZone=http://test:test@99.79.99.76:8010/eureka\" --network host -e \"logging.file=/api-logs/albums-ws.log\" -v /home/ec2-user/api-logs:/api-logs havyx/albums-microservice\n```\n\n* Run Logstash for Albums Microservice Docker Container\n```\ndocker run -d --name logstash /home/ec2-user/api-logs:/api-logs havyx/sk-albums-microservice-logstash\n```\n\n* Run MySQL Docker Container\n```\ndocker run –d -p 3306:3306 --name mysql-docker-container -e MYSQL_ROOT_PASSWORD=sergey -e MYSQL_DATABASE=photo_app -e MYSQL_USER=sergey -e MYSQL_PASSWORD=sergey mysql:latest\n```\n\n* Run Users Microservice Docker Container\n```\ndocker run -d -e \"spring.cloud.config.uri=http://172.31.4.43:8012\" -e \"spring.rabbitmq.host=172.31.4.43\" -e \"eureka.client.serviceUrl.defaultZone=http://test:test@172.31.18.99:8010/eureka\" -e \"spring.datasource.url=jdbc:mysql://172.31.13.167:3306/photo_app?serverTimezone=UTC\" --network host -e \"logging.file=/api-logs/users-ws.log\" -v /home/ec2-user/api-logs:/api-logs havyx/sk-users-microservice\n```\n\n* Run Logstash for Users Microservice\n```\ndocker run -d --name users-ws-logstash /home/ec2-user/home:/api-logs havyx/sk-users-ws-logstash\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevertonsavio%2Fspring-cloud-microservices","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevertonsavio%2Fspring-cloud-microservices","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevertonsavio%2Fspring-cloud-microservices/lists"}