Programação Reativa com Spring WebFlux Reactor e MongoDB
Criado para programar de forma reativa dentro do Spring.
O Spring MVC processa as requisições uma a uma por ordem sequencial enquanto a primeira não terminar ele não começa a segunda.
Recebendo varias requisições elas serão processadas paralelamente conforme elas vão chegando elas já vão sendo processadas e não bloqueá a aplicação.
MONO operações com 1 dado de retorno fazendo um GET/id para retornar um usuário
FLUX operações com X dados de retorno fazendo um Get para retornar todos os usuários
Utilizando o Spring boot junto ao Spring WEbFlux traz o Servidor NETTY embutido que opera em tempo de requisição assíncrona.
Utilizei o banco de dados MongoDB, pois, você tem que garantir que todo o fluxo seja reativo e não bloqueante. Isso não acontece ao utilizar bancos relacionais, pois, eles não estão preparados para trabalhar de forma não bloqueante.