{"id":31062909,"url":"https://github.com/marcosfshirafuchi/udemy-microsservicos-java-com-spring-boot-e-spring-cloud","last_synced_at":"2026-04-29T22:37:45.383Z","repository":{"id":313115086,"uuid":"1048710856","full_name":"marcosfshirafuchi/Udemy-Microsservicos-Java-com-Spring-Boot-e-Spring-Cloud","owner":"marcosfshirafuchi","description":"Udemy: Microsserviços Java com Spring Boot e Spring Cloud","archived":false,"fork":false,"pushed_at":"2025-09-12T02:24:21.000Z","size":992,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-12T04:43:33.395Z","etag":null,"topics":["devsuperior","docker","java","microservices","nelioalves","opp","poo","postman","spring-boot","udemycourse"],"latest_commit_sha":null,"homepage":"https://www.udemy.com/course/microsservicos-java-spring-cloud/?couponCode=KEEPLEARNINGBR","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/marcosfshirafuchi.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-01T22:49:02.000Z","updated_at":"2025-09-12T02:24:24.000Z","dependencies_parsed_at":"2025-09-04T02:42:15.344Z","dependency_job_id":null,"html_url":"https://github.com/marcosfshirafuchi/Udemy-Microsservicos-Java-com-Spring-Boot-e-Spring-Cloud","commit_stats":null,"previous_names":["marcosfshirafuchi/udemy-microsservicos-java-com-spring-boot-e-spring-cloud"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marcosfshirafuchi/Udemy-Microsservicos-Java-com-Spring-Boot-e-Spring-Cloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcosfshirafuchi%2FUdemy-Microsservicos-Java-com-Spring-Boot-e-Spring-Cloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcosfshirafuchi%2FUdemy-Microsservicos-Java-com-Spring-Boot-e-Spring-Cloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcosfshirafuchi%2FUdemy-Microsservicos-Java-com-Spring-Boot-e-Spring-Cloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcosfshirafuchi%2FUdemy-Microsservicos-Java-com-Spring-Boot-e-Spring-Cloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcosfshirafuchi","download_url":"https://codeload.github.com/marcosfshirafuchi/Udemy-Microsservicos-Java-com-Spring-Boot-e-Spring-Cloud/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcosfshirafuchi%2FUdemy-Microsservicos-Java-com-Spring-Boot-e-Spring-Cloud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275260485,"owners_count":25433379,"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","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["devsuperior","docker","java","microservices","nelioalves","opp","poo","postman","spring-boot","udemycourse"],"created_at":"2025-09-15T13:00:04.116Z","updated_at":"2026-04-29T22:37:45.378Z","avatar_url":"https://github.com/marcosfshirafuchi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003ca href=\"https://imgbb.com/\"\u003e\u003cimg src=\"https://i.ibb.co/41NVDPM/image-2024-12-01-T01-17-16-558-Z.png\" alt=\"image-2024-12-01-T01-17-16-558-Z\" border=\"0\"\u003e\u003c/a\u003e Microsserviços Java com Spring Boot e Spring Cloud\n\n\n\nVersões: Java 11 e Spring Boot 2.3.4! Aprenda Feign, Ribbon, Hystrix, OAuth, JWT, Eureka, API Gateway Zuul, e muito mais\n\n#### Curso desenvolvido pelo:\n- Nelio Alves\n- O curso de Microsserviços Java com Spring Boot e Spring Cloud foi feito na versão: Java 11 e Spring boot 2.3.4.RELEASE.\n- Obs: Adaptei para a versão Java 21 e Spring boot 3.5.6.\n\n\n## Principais Tecnologias\n\n- \u003cimg width=\"70px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/java/java-original-wordmark.svg\" title = \"Java\" /\u003e \u003cb\u003e Java 21 :\u003c/b\u003e Utilizaremos a versão LTS mais recente do Java para tirar vantagem das últimas inovações que essa linguagem robusta e amplamente utilizada oferece;\n- \u003cimg width=\"70px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/intellij/intellij-original.svg\" title = \"IntelliJIDEA\" /\u003e \u003cb\u003e IntelliJIDEA :\u003c/b\u003e Utilizei o IntelliJIDEA como a IDEA para fazer os programas em Java;\n- \u003cimg width=\"70px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/spring/spring-original-wordmark.svg\" /\u003e\u003cb\u003e String Boot :\u003c/b\u003e Utilizei o Spring boot na versão 3.5.6;\n- \u003cimg width=\"70px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/postman/postman-original-wordmark.svg\" /\u003e\u003cb\u003e Postman :\u003c/b\u003e Utilizei o Postman para testar as APIs dos projetos desenvolvidos no curso;\n- \u003cimg width=\"70px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/docker/docker-original-wordmark.svg\" /\u003e\u003cb\u003e Docker :\u003c/b\u003e Utilizei o Docker para rodar os projetos desenvolvidos no curso;\n- \u003cimg width=\"70px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/postgresql/postgresql-original-wordmark.svg\" /\u003e\u003cb\u003e Postgres :\u003c/b\u003e  Utilizei o pgAdmin4 na versão\n9.9;\n\n## O que você aprenderá\n\u003ccenter\u003e \n  \u003ca href=\"https://ibb.co/dJkqps3d\"\u003e\u003cimg src=\"https://i.ibb.co/XkFg5fdh/2-O-sistema-que-vamos-desenvolver-Parte-01.png\" alt=\"2-O-sistema-que-vamos-desenvolver-Parte-01\" border=\"0\"\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://ibb.co/p60BNrnq\"\u003e\u003cimg src=\"https://i.ibb.co/Gfx4G3Fm/imagem-1.png\" alt=\"imagem-1\" border=\"0\"\u003e\u003c/a\u003e\u003cbr\u003e\n  \u003ca href=\"https://ibb.co/rKypZdvZ\"\u003e\u003cimg src=\"https://i.ibb.co/RGH6Cj7C/2-O-sistema-que-vamos-desenvolver-Parte-03.png\" alt=\"2-O-sistema-que-vamos-desenvolver-Parte-03\" border=\"0\"\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://ibb.co/7JWQ78hc\"\u003e\u003cimg src=\"https://i.ibb.co/nscBhZp2/2-O-sistema-que-vamos-desenvolver-Parte-04.jpg\" alt=\"2-O-sistema-que-vamos-desenvolver-Parte-04\" border=\"0\"\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://ibb.co/mChJMTDN\"\u003e\u003cimg src=\"https://i.ibb.co/gMtyB9j4/2-O-sistema-que-vamos-desenvolver-Parte-05.png\" alt=\"2-O-sistema-que-vamos-desenvolver-Parte-05\" border=\"0\"\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://ibb.co/Xr2WRJrY\"\u003e\u003cimg src=\"https://i.ibb.co/DHV12KHr/2-O-sistema-que-vamos-desenvolver-Parte-06.png\" alt=\"2-O-sistema-que-vamos-desenvolver-Parte-06\" border=\"0\"\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://ibb.co/Y4MKTPLg\"\u003e\u003cimg src=\"https://i.ibb.co/GfL13n5m/2-O-sistema-que-vamos-desenvolver-Parte-07.jpg\" alt=\"2-O-sistema-que-vamos-desenvolver-Parte-07\" border=\"0\"\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://ibb.co/YTDYSJ4V\"\u003e\u003cimg src=\"https://i.ibb.co/dJb1vXsH/2-O-sistema-que-vamos-desenvolver-Parte-08.jpg\" alt=\"2-O-sistema-que-vamos-desenvolver-Parte-08\" border=\"0\"\u003e\u003c/a\u003e\n  \u003c/center\u003e\n  \u003cbr\u003e\u003cbr\u003e\n\n- Uma introdução a algumas das principais ferramentas do Spring Cloud para estruturação de um sistema em microsserviços\n- Chamadas de API entre microsserviços por meio de clientes Feign\n- Criar microsserviços escaláveis, com resolução de nomes e balanceamento de carga de forma transparente, usando servidor Eureka\n- Roteamento transparente de microsserviços com Zuul API Gateway\n- Configuração centralizada por meio de um servidor de configuração\n- Autenticação e autorização compartilhada por meio do API Gateway, usando Oauth e JWT\n\n## Conteúdo do curso\n- Introdução\n- Fase 1: Comunicação simples, Feign, Ribbon\n- Fase 2: Eureka, Hystriz, Zuul\n- Fase 3: Configuração centralizada\n- Fase 4: Autenticação e autorização\n- Criando e testando containers Docker\n- Seção Bônus\n\n\n\n## Link do curso:\n\nhttps://www.udemy.com/course/microsservicos-java-spring-cloud/?couponCode=KEEPLEARNINGBR\n\n## Link do repositório dos arquivos de configuração\n\u003cb\u003eMS COURSE CONFIGS:\u003c/b\u003e\u003cbr\u003e\u003cbr\u003e\nhttps://github.com/marcosfshirafuchi/ms-course-configs\n\n## Criando e testando containers Docker\n\n\u003ccenter\u003e\u003ca href=\"https://ibb.co/FLQBSByC\"\u003e\u003cimg src=\"https://i.ibb.co/Q3W626Tt/containers-docker-page-0001.jpg\" alt=\"containers-docker-page-0001\" border=\"0\"\u003e\u003c/a\u003e\u003c/center\u003e\n\n## Criar rede docker para sistema hr\n```\ndocker network create hr-net\n```\n\n## Testando perfil dev com Postgresql no Docker\n```\ndocker pull postgres:12-alpine\n\ndocker run -p 5432:5432 --name hr-worker-pg12 --network hr-net -e POSTGRES_PASSWORD=1234567 -e POSTGRES_DB=db_hr_worker postgres:12-alpine\n\ndocker run -p 5432:5432 --name hr-user-pg12 --network hr-net -e POSTGRES_PASSWORD=1234567 -e POSTGRES_DB=db_hr_user postgres:12-alpine\n```\n\n## hr-config-server\n```\nFROM eclipse-temurin:21-jdk-alpine\nVOLUME /tmp\nEXPOSE 8888\nADD ./target/hr-config-server-0.0.1-SNAPSHOT.jar hr-config-server.jar\nENTRYPOINT [\"java\",\"-jar\",\"/hr-config-server.jar\"]\n``` \n```\nmvnw clean package\n\ndocker build -t hr-config-server:v1 .\n\ndocker run -p 8888:8888 --name hr-config-server --network hr-net -e GITHUB_USER=acenelio -e GITHUB_PASS= hr-config-server:v1\n```\n\n## hr-eureka-server\n```\nFROM eclipse-temurin:21-jdk-alpine\nVOLUME /tmp\nEXPOSE 8761\nADD ./target/hr-eureka-server-0.0.1-SNAPSHOT.jar hr-eureka-server.jar\nENTRYPOINT [\"java\",\"-jar\",\"/hr-eureka-server.jar\"]\n``` \n```\nmvnw clean package\n\ndocker build -t hr-eureka-server:v1 .\n\ndocker run -p 8761:8761 --name hr-eureka-server --network hr-net hr-eureka-server:v1\n```\n\n## hr-worker\n```\nFROM eclipse-temurin:21-jdk-alpine\nVOLUME /tmp\nADD ./target/hr-worker-0.0.1-SNAPSHOT.jar hr-worker.jar\nENTRYPOINT [\"java\",\"-jar\",\"/hr-worker.jar\"]\n``` \n```\nmvnw clean package -DskipTests\n\ndocker build -t hr-worker:v1 .\n\ndocker run -P --network hr-net hr-worker:v1\n```\n\n## hr-user\n```\nFROM eclipse-temurin:21-jdk-alpine\nVOLUME /tmp\nADD ./target/hr-user-0.0.1-SNAPSHOT.jar hr-user.jar\nENTRYPOINT [\"java\",\"-jar\",\"/hr-user.jar\"]\n``` \n```\nmvnw clean package -DskipTests\n\ndocker build -t hr-user:v1 .\n\ndocker run -P --network hr-net hr-user:v1\n```\n\n## hr-payroll\n```\nFROM eclipse-temurin:21-jdk-alpine\nVOLUME /tmp\nADD ./target/hr-payroll-0.0.1-SNAPSHOT.jar hr-payroll.jar\nENTRYPOINT [\"java\",\"-jar\",\"/hr-payroll.jar\"]\n``` \n```\nmvnw clean package -DskipTests\n\ndocker build -t hr-payroll:v1 .\n\ndocker run -P --network hr-net hr-payroll:v1\n```\n\n## hr-oauth\n```\nFROM eclipse-temurin:21-jdk-alpine\nVOLUME /tmp\nADD ./target/hr-oauth-0.0.1-SNAPSHOT.jar hr-oauth.jar\nENTRYPOINT [\"java\",\"-jar\",\"/hr-oauth.jar\"]\n``` \n```\nmvnw clean package -DskipTests\n\ndocker build -t hr-oauth:v1 .\n\ndocker run -P --network hr-net hr-oauth:v1\n```\n\n## hr-api-gateway-zuul\n```\nFROM eclipse-temurin:21-jdk-alpine\nVOLUME /tmp\nEXPOSE 8765\nADD ./target/hr-api-gateway-zuul-0.0.1-SNAPSHOT.jar hr-api-gateway-zuul.jar\nENTRYPOINT [\"java\",\"-jar\",\"/hr-api-gateway-zuul.jar\"]\n``` \n```\nmvnw clean package -DskipTests\n\ndocker build -t hr-api-gateway-zuul:v1 .\n\ndocker run -p 8765:8765 --name hr-api-gateway-zuul --network hr-net hr-api-gateway-zuul:v1\n```\n\n## Alguns comandos Docker\nCriar uma rede Docker\n```\ndocker network create \u003cnome-da-rede\u003e\n```\nBaixar imagem do Dockerhub\n```\ndocker pull \u003cnome-da-imagem:tag\u003e\n```\nVer imagens\n```\ndocker images\n```\nCriar/rodar um container de uma imagem\n```\ndocker run -p \u003cporta-externa\u003e:\u003cporta-interna\u003e --name \u003cnome-do-container\u003e --network \u003cnome-da-rede\u003e \u003cnome-da-imagem:tag\u003e \n```\nListar containers\n```\ndocker ps\n\ndocker ps -a\n```\nAcompanhar logs do container em execução\n```\ndocker logs -f \u003ccontainer-id\u003e\n```\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcosfshirafuchi%2Fudemy-microsservicos-java-com-spring-boot-e-spring-cloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcosfshirafuchi%2Fudemy-microsservicos-java-com-spring-boot-e-spring-cloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcosfshirafuchi%2Fudemy-microsservicos-java-com-spring-boot-e-spring-cloud/lists"}