Notizen
Introduçao a Microserviços - Java Backend
Inhalt der Notizen (1)
Seite 1
1. Arquitetura Desacoplada
Quando falamos de uma arquitetura de microserviços estamos falando de uma estrutura totalmente distribuida e independente. A característica principal dessa arqutetura é seu desacoplamento entre os serviços distribuidos. Diferente de uma arquitetura monolita, os serviços são independentes e totalmente isolados dos demais, causando um isolamento forte dos serviços e deixando tudo menos dependente. Para sistemas grandes e escaláveis, essa é a arquitetura ideal, pois garante inumeros benefícios em relação a robustez do backend, deixando-o mais resiliente e em situações de extrema concorrencia de dados. Mas não significa que deve-se usar em todos os cenários, como toda ideia possui o lado bom e o lado ruim.
2. Quando usar Microserviços?
Antes de mais nada, é necessário entender quais situações essa arquitetura seria ideal. Quando se tem um sistema grande e escalável, ou seja, com possibilidade alta de crescimento dos serviços em diferentes módulos do dominio do produto. Alta concorrencia dos dados, em outras palavras, numero de acessos silmultâneos ao mesmo serviço(s) de forma extrema, a fim de colocar a perfomance da aplicação em risco. Em um escopo pequeno e limitado não faz sentido usar essa arquitetura, justamente pelos seus malefícios (serão citados logo mais).
3. Benefícios X Malefícios
Vamos aos benefícos da arquitetura:
Serviços isolados e desacoplados, facilitando manutenção e evolução;
Melhor resiliência: falhas em um serviço não derrubam o sistema inteiro;
Escalabilidade independente: cada serviço pode ser escalado conforme a demanda;
Flexibilidade tecnológica: possibilidade de usar diferentes linguagens e frameworks em cada serviço;
Ciclo de desenvolvimento mais ágil: equipes podem trabalhar em paralelo em serviços distintos.
Agora.. vamos aos malefícios da arquitetura:
Complexidade maior na comunicação entre serviços (geralmente via APIs ou mensageria);
Necessidade de infraestrutura robusta para orquestração (ex.: Kubernetes, Docker);
Monitoramento e observabilidade mais complexos (logs distribuídos, tracing, métricas);
Custos operacionais mais altos (rede, servidores, ferramentas de integração);
Maior esforço inicial de configuração e governança.
4. Padrões de Arquitetura em Microserviços
A essência da arquitetura de microserviços é o isolamento e a independência dos serviços. No entanto, quando diferentes serviços distribuídos expõem APIs próprias, cada uma rodando em diferentes IPs e portas, o acesso direto a elas pode se tornar complexo e pouco eficiente. Para lidar com essa dificuldade, surgiram diversos padrões arquiteturais baseados em microserviços.
Esses padrões introduzem componentes fundamentais que desempenham papéis importantes, como:
API Gateway: centraliza o acesso às APIs, simplificando a comunicação entre clientes e serviços. Pode ser criada manualmente por uma linguagem de programação juntamente com um framework ou pode ser um serviço de uma ferramenta/plataforma externa.
Service Discovery: permite localizar dinamicamente os serviços disponíveis na rede, sem depender de configurações fixas de IP/porta.
Load Balancer: distribui requisições entre instâncias de um mesmo serviço, garantindo melhor desempenho e disponibilidade.
Circuit Breaker: protege o sistema contra falhas em cascata, isolando serviços problemáticos.
Message Broker: servidor de mensagens que garante uma melhor eficiencia na comunicação entre os serviços
Informationen
- Beschreibung
- Notiz am Introduçao a Microserviços - Java Backend, erstellt von Victor Barberino am 07/04/2026.
- Erstellt von
- Victor Barberino
- Aufrufe
- 2
- Bewertung