В чем разница между асинхронным и реактивным?
Асинхронность - это разновидность конкурентного выполнения, а реактивность - это разновидность архитектурного подхода. Эти понятия не связанные и не взаимоисключающие, реактивный код может быть асинхронным, а может не быть, асинхронный код может быть реактивным, а может и не быть.
Добавлю такое пояснение - реактивный подход зачастую использует асинхронность. Их нельзя сравнивать, это разные понятия.