Os requisitos não funcionais mudaram muito nos últimos anos. Até pouco tempo atrás, aplicações rodavam em dezenas de servidores, o tempo de resposta era na casa de alguns segundos, algumas horas de tolerância offline e dados na casa dos gigabytes. Atualmente, em compasso com a evolução tecnológica, esses mesmos requisitos não funcionais desenvolveram-se para aplicações rodando em clusters baseados na nuvem com milhares de processadores multi-core, seu tempo de resposta girando na casa dos milissegundos e 100% de uptime. As arquiteturas do passado simplesmente não fazer sentido com esses novos requisitos.
Esse cenário motivou o surgimento do Manifesto Reativo, uma abordagem coerente para o desenvolvimento de arquiteturas em que os aspectos necessários estejam presentes inerentemente. Esses aspectos já são conhecidos individualmente: responsividade, resiliência, elasticidade e orientado a mensagens. A união desses aspectos produzem os chamados Sistemas Reativos.
Sistemas Reativos são mais flexíveis, com baixo acoplamento e escaláveis. São mais fáceis de desenvolver e manter, tolerantes a falhas e responsivos. Claro que toda arquitetura tem como objetivo atingir esses aspectos mas, atualmente, os princípios descritos no manifesto reativo e implementados no modelo arquitetural de micro serviços que levam a arquiteturas com o maior grau de flexibilidade, escalabilidade e baixo acoplamento.