¿Cuál es la diferencia entre: arquitecturas asincrónicas, sin bloqueo y basadas en eventos?

Cuál es la diferencia entre: Asincrónico , No bloqueante y ¿Arquitecturas basadas en eventos ? ¿Algo puede ser asincrónico y no bloqueante (y basado en eventos )? ¿Qué es más importante en la programación, tener algo: asincrónico, sin bloqueo y / o base de eventos (o los 3)? Si pudiera...