https://github.com/marcosfshirafuchi/udemy-microsservicos-java-com-spring-boot-e-spring-cloud
Udemy: Microsserviços Java com Spring Boot e Spring Cloud
https://github.com/marcosfshirafuchi/udemy-microsservicos-java-com-spring-boot-e-spring-cloud
devsuperior docker java microservices nelioalves opp poo postman spring-boot udemycourse
Last synced: about 1 month ago
JSON representation
Udemy: Microsserviços Java com Spring Boot e Spring Cloud
- Host: GitHub
- URL: https://github.com/marcosfshirafuchi/udemy-microsservicos-java-com-spring-boot-e-spring-cloud
- Owner: marcosfshirafuchi
- Created: 2025-09-01T22:49:02.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-12T02:24:21.000Z (9 months ago)
- Last Synced: 2025-09-12T04:43:33.395Z (9 months ago)
- Topics: devsuperior, docker, java, microservices, nelioalves, opp, poo, postman, spring-boot, udemycourse
- Language: Java
- Homepage: https://www.udemy.com/course/microsservicos-java-spring-cloud/?couponCode=KEEPLEARNINGBR
- Size: 969 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#
Microsserviços Java com Spring Boot e Spring Cloud
Versões: Java 11 e Spring Boot 2.3.4! Aprenda Feign, Ribbon, Hystrix, OAuth, JWT, Eureka, API Gateway Zuul, e muito mais
#### Curso desenvolvido pelo:
- Nelio Alves
- 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.
- Obs: Adaptei para a versão Java 21 e Spring boot 3.5.6.
## Principais Tecnologias
-
Java 21 : Utilizaremos a versão LTS mais recente do Java para tirar vantagem das últimas inovações que essa linguagem robusta e amplamente utilizada oferece;
-
IntelliJIDEA : Utilizei o IntelliJIDEA como a IDEA para fazer os programas em Java;
-
String Boot : Utilizei o Spring boot na versão 3.5.6;
-
Postman : Utilizei o Postman para testar as APIs dos projetos desenvolvidos no curso;
-
Docker : Utilizei o Docker para rodar os projetos desenvolvidos no curso;
-
Postgres : Utilizei o pgAdmin4 na versão
9.9;
- Uma introdução a algumas das principais ferramentas do Spring Cloud para estruturação de um sistema em microsserviços
- Chamadas de API entre microsserviços por meio de clientes Feign
- Criar microsserviços escaláveis, com resolução de nomes e balanceamento de carga de forma transparente, usando servidor Eureka
- Roteamento transparente de microsserviços com Zuul API Gateway
- Configuração centralizada por meio de um servidor de configuração
- Autenticação e autorização compartilhada por meio do API Gateway, usando Oauth e JWT
## Conteúdo do curso
- Introdução
- Fase 1: Comunicação simples, Feign, Ribbon
- Fase 2: Eureka, Hystriz, Zuul
- Fase 3: Configuração centralizada
- Fase 4: Autenticação e autorização
- Criando e testando containers Docker
- Seção Bônus
## Link do curso:
https://www.udemy.com/course/microsservicos-java-spring-cloud/?couponCode=KEEPLEARNINGBR
## Link do repositório dos arquivos de configuração
MS COURSE CONFIGS:
https://github.com/marcosfshirafuchi/ms-course-configs
## Criando e testando containers Docker
## Criar rede docker para sistema hr
```
docker network create hr-net
```
## Testando perfil dev com Postgresql no Docker
```
docker pull postgres:12-alpine
docker run -p 5432:5432 --name hr-worker-pg12 --network hr-net -e POSTGRES_PASSWORD=1234567 -e POSTGRES_DB=db_hr_worker postgres:12-alpine
docker run -p 5432:5432 --name hr-user-pg12 --network hr-net -e POSTGRES_PASSWORD=1234567 -e POSTGRES_DB=db_hr_user postgres:12-alpine
```
## hr-config-server
```
FROM eclipse-temurin:21-jdk-alpine
VOLUME /tmp
EXPOSE 8888
ADD ./target/hr-config-server-0.0.1-SNAPSHOT.jar hr-config-server.jar
ENTRYPOINT ["java","-jar","/hr-config-server.jar"]
```
```
mvnw clean package
docker build -t hr-config-server:v1 .
docker run -p 8888:8888 --name hr-config-server --network hr-net -e GITHUB_USER=acenelio -e GITHUB_PASS= hr-config-server:v1
```
## hr-eureka-server
```
FROM eclipse-temurin:21-jdk-alpine
VOLUME /tmp
EXPOSE 8761
ADD ./target/hr-eureka-server-0.0.1-SNAPSHOT.jar hr-eureka-server.jar
ENTRYPOINT ["java","-jar","/hr-eureka-server.jar"]
```
```
mvnw clean package
docker build -t hr-eureka-server:v1 .
docker run -p 8761:8761 --name hr-eureka-server --network hr-net hr-eureka-server:v1
```
## hr-worker
```
FROM eclipse-temurin:21-jdk-alpine
VOLUME /tmp
ADD ./target/hr-worker-0.0.1-SNAPSHOT.jar hr-worker.jar
ENTRYPOINT ["java","-jar","/hr-worker.jar"]
```
```
mvnw clean package -DskipTests
docker build -t hr-worker:v1 .
docker run -P --network hr-net hr-worker:v1
```
## hr-user
```
FROM eclipse-temurin:21-jdk-alpine
VOLUME /tmp
ADD ./target/hr-user-0.0.1-SNAPSHOT.jar hr-user.jar
ENTRYPOINT ["java","-jar","/hr-user.jar"]
```
```
mvnw clean package -DskipTests
docker build -t hr-user:v1 .
docker run -P --network hr-net hr-user:v1
```
## hr-payroll
```
FROM eclipse-temurin:21-jdk-alpine
VOLUME /tmp
ADD ./target/hr-payroll-0.0.1-SNAPSHOT.jar hr-payroll.jar
ENTRYPOINT ["java","-jar","/hr-payroll.jar"]
```
```
mvnw clean package -DskipTests
docker build -t hr-payroll:v1 .
docker run -P --network hr-net hr-payroll:v1
```
## hr-oauth
```
FROM eclipse-temurin:21-jdk-alpine
VOLUME /tmp
ADD ./target/hr-oauth-0.0.1-SNAPSHOT.jar hr-oauth.jar
ENTRYPOINT ["java","-jar","/hr-oauth.jar"]
```
```
mvnw clean package -DskipTests
docker build -t hr-oauth:v1 .
docker run -P --network hr-net hr-oauth:v1
```
## hr-api-gateway-zuul
```
FROM eclipse-temurin:21-jdk-alpine
VOLUME /tmp
EXPOSE 8765
ADD ./target/hr-api-gateway-zuul-0.0.1-SNAPSHOT.jar hr-api-gateway-zuul.jar
ENTRYPOINT ["java","-jar","/hr-api-gateway-zuul.jar"]
```
```
mvnw clean package -DskipTests
docker build -t hr-api-gateway-zuul:v1 .
docker run -p 8765:8765 --name hr-api-gateway-zuul --network hr-net hr-api-gateway-zuul:v1
```
## Alguns comandos Docker
Criar uma rede Docker
```
docker network create
```
Baixar imagem do Dockerhub
```
docker pull
```
Ver imagens
```
docker images
```
Criar/rodar um container de uma imagem
```
docker run -p : --name --network
```
Listar containers
```
docker ps
docker ps -a
```
Acompanhar logs do container em execução
```
docker logs -f
```








