Spring Boot (Webflux, noSQL)

Spring Webflux, quando usar?

  • Microserviços e APIs de Alta Escala: Para APIs que precisam lidar com um número muito alto de requisições simultâneas.

  • Aplicações Dependentes de I/O: Em sistemas que passam muito tempo esperando por respostas de bancos de dados, serviços externos, ou APIs.

  • Serviços de Streaming: Quando a aplicação precisa enviar fluxos contínuos de dados, como em aplicações de streaming de dados, WebSockets, ou SSE (Server-Sent Events).

Banco de dados noSQL, quando usar?

Para aplicações que demandam escalabilidade, flexibilidade de dados e alta velocidade.

  • Flexibilidade: Estrutura de dados variada ou em constante mudança, como em redes sociais.

  • Escalabilidade: Grandes volumes de dados que crescem rapidamente, comum em big data.

  • Alta Performance: Leituras e escritas rápidas, como em caches e logs de eventos.

  • Disponibilidade: Aplicações distribuídas que exigem tolerância a falhas, como serviços de streaming.

  • Modelagem Simples: Consultas simples e sem necessidade de junções complexas.

Para dados flexíveis e estruturados em documentos: Spring + MongoDB

Caso precise de um banco noSQL para grande volume de dados orientado a colunas para leitura e escrita: Cassandra

Atualizado