Microsserviço é um tipo de arquitetura de desenvolvimento de aplicativos que permite que um sistema grande seja separado em vários serviços menores, segue alguns benefícios como:
- Agilidade na manutenção: já que os sistemas são menores é mais fácil fazer uma alteração no fonte assim tornando mais rápido a resolução de problemas e a entrega de novas funcionalidades.
- Escalabilidade: Estando separados, com serviços separados a escalabilidade é feita de forma independente.
- Resiliência: Com os microsserviços, os aplicativos lidam com a falha total do serviço degradando a funcionalidade, sem interromper todo o aplicativo.
Segue alguns exemplos de dados e seus microserviços
- Venda fica no microserviço Comercial
- Compartilhamento e Loja ficam no microserviço de Dados básicos
- Lotes e Loja lotes ficam no microserviço de Controle
- Cliente ficam no microserviço de cliente
Segue um desenho para um melhor entendimento dessa arquitetura
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | microsserviços |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 861 |
---|
revision | 1 |
---|
|
Um dos grandes motivos de se utilizar microsserviços é a resiliência, como os serviços não estão em um monolito, quando um serviço está fora do ar os outros serviços continuam funcionando.
Segue um desenho de exemplo dessa comunicação:
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | Falha microsserviços |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 861 |
---|
revision | 1 |
---|
|