Объясни модель RabbitMQ: producer → exchange → binding → queue → consumer. Типы exchanges (direct, topic, fanout, headers) и когда какой использовать.