Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/temgi/microsservicos_springcloud


https://github.com/temgi/microsservicos_springcloud

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        


Ecossistema de Microsserviços Java com SpringCloud


Conjunto de Microsserviços Escalável com Balanceamento de Carga, API Gateway, Discovery Server e Configuração Centralizada no Git




[![NPM](https://img.shields.io/npm/l/react)](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/LICENSE)



## 🧠 Sobre o Projeto

A Aplicação é um Sistema de RH com Cadastro de Trabalhadores dividido em Diversos Microsserviços Java com Spring Cloud, utilizando assim, Feign para Requisições de API entre Microsserviços, Ribbon para Balanceamento de Carga, Eureka para Discovery e Registro de Microsserviços, API Gateway Zuul para Roteamento, Hystrix para Tolerância a Falhas, OAuth e JWT para Autenticação e Autorização, Configuração Centralizada no GitHub, Containers Docker para Microsserviços e Banco de Dados. Onde foi Construído os Microsserviços envolvendo os Processos de Configuração, Autenticação, Balanceamento de Carga, API Gateway, tendo como Base as Entidades Folha de Pagamento, Trabalhador, Usuários e Autorização.

## 📗 Sumário

* [Arquitetura do Projeto](#-arquitetura-do-projeto)
* [Modelo Conceitual](#-modelo-conceitual)
* [Organização de Pacotes](#-organiza%C3%A7%C3%A3o-de-pacotes)
* [Features](#%EF%B8%8F-features)
* [Estrutura de Autenticação OAuth](#-estrutura-de-autentica%C3%A7%C3%A3o-oauth)
* [Autorização com Token JWT](#%EF%B8%8F-autoriza%C3%A7%C3%A3o-com-token-jwt)
* [Conjunto de Interfaces](#-conjunto-de-interfaces)
* [Tecnologias Utilizadas](#-tecnologias-utilizadas)
* [Como Executar o Projeto](#-como-executar-o-projeto)
* [Autor](#-autor)

## 💻 Arquitetura do Projeto

![Arquitetura Projeto](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/ArquiteturaProjeto.png)

## 🎨 Modelo Conceitual

![Modelo Conceitual](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/ModeloConceitual.png)

## 👓 Organização de Pacotes

![Pacotes do Projeto](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/PacotesProjeto.png)

## ⚙️ Features

- [x] Autenticação/Autorização de Containers
- [x] Gateway de Roteamento
- [x] Comunicação API-Rest com JSON
- [x] Balanceamento de Carga
- [x] Configuração Centralizada no Git
- [x] Microsserviços Escaláveis e Flexíveis
- [x] Servidor de Discovery
- [x] Token para Autorização de Microsserviços
- [x] Isolamento em Containers Docker
- [x] Coesão e Desacoplamento de Serviços
- [x] Serviços Independentes
- [x] Resiliência e Tolerância a Falhas
- [x] InfraEstrutura Automatizada

## 💡 Estrutura de Autenticação OAuth

![Autenticação OAuth](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/Autenticacao-OAuth.png)

## 🛰️ Autorização com Token JWT

![Autorização JWT](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/Autorizacao-TokenJWT.png)

## 🎯 Conjunto de Interfaces

![Conjunto Interfaces](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/EstruturaClasses.png)

## 🚀 Tecnologias Utilizadas:
### Back-End


  • Java 11

  • API Gateway Netflix Zuul

  • Feign Nextflix

  • Spring Data JPA

  • Jackson JSON

  • Postman

  • Ribbon Load Balance

  • Maven

  • Apache TomCat

  • Netflix Eureka Discovery

  • Netflix Hystrix

  • JPA-Hibernate

  • OAuth e JWT

  • Docker

  • PostgreSQL

## 🏁 Como Executar o Projeto

### Instalações
1-Baixar e Instalar o Java-JDK no Link Abaixo:


https://www.oracle.com/br/java/technologies/javase/javase8-archive-downloads.html



2-Configurar Variáveis de Ambiente do Java-JDK Conforme Link Abaixo:


https://www.alura.com.br/apostila-java-orientacao-objetos/apendice-instalacao-do-java



3-Baixar e Instalar o Docker Seguindo o Link Abaixo:


https://docs.docker.com/desktop/install/windows-install/



4-Baixar e Instalar o Postman Seguindo os Links Abaixo:


https://www.postman.com/downloads/


https://www.alura.com.br/artigos/postman-como-instalar-dar-seus-primeiros-passos


### Execução e Deploy do Projeto

#### Clonar Repositório
- git clone https://github.com/Temgi/APILogistica.git

#### Configuração do Projeto
- Execução do Projeto: https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/README.md

#### Configuração Container Docker
- Execução dos Containers: https://github.com/Temgi/Microsservicos_SpringCloud/blob/docker/README.md

## 📝 **Autor**

Foto de Rui Temgi Saraiva Azevedo no GitHub

Rui Azevedo


Contatos: LinkedIn - WhatsApp - [email protected]