Microsserviços

Serviços menores, desacoplados e independentes - modulares, paralelizar desenvolvimento, diferentes pilhas tecnológicas, escalável, responsabilidade limitada, cloud-ready - Spring Boot + Spring Cloud

https://imgr.whimsical.com/object/KxV7XTureWypZsF5rwya3V

Visão Aplicação

Seguem patterns relacionados à aplicação, ao software e sua arquitetura.

Comunicação HTTP

Várias aplicações, cada uma com seu banco de dados.

https://imgr.whimsical.com/object/RX2tyaHP7UEdcJeYWqo64s

API Gateway

É usado como ponto central de acesso para roteamento entre vários microsserviços.

https://imgr.whimsical.com/object/9BVFcZ3X3iA4UWR1idkxHz

Service Discovery

Para o Gateway saber onde fica cada microsserviço ele consulta um Service Discovery que tem os dados de todos os microsserviços e instâncias que estão rodando. Cada microsserviço se registra nele assim que fica no ar.

https://imgr.whimsical.com/object/2CYeqR5w7AAhJULhSrgV48

Load Balancer

Para fazer requisições à diferentes instâncias de um mesmo microsserviço, deve ser usado um Load Balancer.

https://imgr.whimsical.com/object/Sw1FzJR4sRpuiNGLHgkR1J

Centralized Configuration

Cada microsserviço vai ter seu arquivo de Config, então para gerenciar todos eles é utilizado um Config Server e ainda é possível atualizar as props sem derrubar os microsserviços.

https://imgr.whimsical.com/object/gGaUS4GYyWxRXD6sHD9mS

Event Driven