RabbitMQ vs Kafka: Understanding the Why, Not Just the What