https://github.com/lucasdiasjorge/microservices
Microservices architecture using Java, Spring cloud, Eureka, Gateway, Authorization and resources.
https://github.com/lucasdiasjorge/microservices
eureka java microservices oauth2 spring springcloud
Last synced: about 2 months ago
JSON representation
Microservices architecture using Java, Spring cloud, Eureka, Gateway, Authorization and resources.
- Host: GitHub
- URL: https://github.com/lucasdiasjorge/microservices
- Owner: LucasDiasJorge
- Created: 2024-09-28T17:23:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-17T19:05:59.000Z (over 1 year ago)
- Last Synced: 2024-10-19T11:31:13.952Z (over 1 year ago)
- Topics: eureka, java, microservices, oauth2, spring, springcloud
- Language: Java
- Homepage:
- Size: 99.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Microservices
Este projeto implementa uma arquitetura de microserviços utilizando Java, Spring Cloud, Eureka, Gateway e componentes de autorização e recursos.
## Descrição
O objetivo deste projeto é demonstrar uma arquitetura de microserviços moderna, escalável e resiliente, aproveitando o ecossistema Spring para facilitar o desenvolvimento e a integração dos serviços. O projeto implementa discovery service, API Gateway, autenticação/autorização e serviços de recursos independentes.
## Principais Tecnologias
- **Java**: Linguagem principal para desenvolvimento dos microserviços.
- **Spring Cloud**: Framework para facilitar a construção de sistemas distribuídos.
- **Eureka**: Serviço de discovery para registro e localização automática dos microserviços.
- **Spring Cloud Gateway**: API Gateway para roteamento e filtragem das requisições.
- **Spring Security**: Gerenciamento de autenticação e autorização.
- **Docker** (opcional): Para facilitar o deploy e orquestração dos serviços.
## Estrutura do Projeto
```plaintext
.
├── eureka-server/ # Serviço de discovery
├── api-gateway/ # Gateway de API
├── auth-service/ # Serviço de autenticação/autorização
├── resource-service-1/ # Exemplo de serviço de recurso
├── resource-service-2/ # Outro serviço de recurso
└── README.md
```
## Como Executar
1. **Clone o repositório:**
```bash
git clone https://github.com/LucasDiasJorge/Microservices.git
cd Microservices
```
2. **Suba o Eureka Server:**
```bash
cd eureka-server
./mvnw spring-boot:run
```
3. **Suba o API Gateway:**
```bash
cd ../api-gateway
./mvnw spring-boot:run
```
4. **Suba o Auth Service:**
```bash
cd ../auth-service
./mvnw spring-boot:run
```
5. **Suba os serviços de recursos:**
```bash
cd ../resource-service-1
./mvnw spring-boot:run
cd ../resource-service-2
./mvnw spring-boot:run
```
> **Dica:** Você pode usar Docker Compose para facilitar o processo de execução dos serviços, caso disponível.
## Funcionalidades
- Registro e descoberta automática de serviços via Eureka.
- Gateway de API centralizado para roteamento de requisições.
- Autenticação e autorização centralizadas.
- Serviços independentes e escaláveis.
## Contribuição
Sinta-se à vontade para abrir issues ou pull requests para sugerir melhorias ou reportar bugs.
## Licença
Este projeto está sob a licença MIT. Consulte o arquivo [LICENSE](LICENSE) para mais detalhes.
---
Desenvolvido por [Lucas Dias Jorge](https://github.com/LucasDiasJorge)
````