Kawhan Laurindo

WHOISKAWHAN / SOFTWARE ENGINEER / João Pessoa

Idioma

PROJETOS / 2023

Opportunity Microservices

O Opportunity de novo, desta vez quebrado em microsserviços com Spring Boot, Eureka para descoberta e gateway de autenticação. A pergunta era se eu conseguia fazer aquilo escalar sem virar uma bagunça distribuída.

VISÃO GERAL

Uma POC feita para a disciplina de Sistemas Distribuídos: o Opportunity reescrito como microsserviços. Um serviço cuida da autenticação, outro do cadastro de oportunidades, e os dois se registram no Netflix Eureka — ninguém precisa saber o IP ou a porta de ninguém. Todo o tráfego entra por um gateway, que encaminha cada requisição ao serviço certo.

CONCEITO

Service discovery e API Gateway. Em vez de endereços fixos, cada serviço se anuncia ao Eureka e manda heartbeats para provar que está vivo; o gateway consulta esse registro para decidir para onde encaminhar. Cada microsserviço tem o próprio banco, o que troca consistência imediata por independência: dá para escalar, publicar e derrubar um serviço sem levar o resto junto.

FUNCIONALIDADES

  • Registro e descoberta de serviços com Netflix Eureka
  • Gateway como ponto único de entrada
  • Microsserviço de autenticação
  • Microsserviço de cadastro de oportunidades
  • Comunicação entre serviços com OpenFeign

COMO FUNCIONA

Primeiro sobe o servidor Eureka, depois os dois microsserviços, que se registram nele, e por último o gateway na porta 9000, que passa a receber as requisições. O painel do Eureka mostra quais instâncias estão registradas e saudáveis. Os dados ficam em H2 por simplicidade, mas nada impede trocar por PostgreSQL.

TECNOLOGIAS

  • Java
  • Spring
  • Docker
Voltar para o portfólio