Asynchronous messaging shouldn't just be seen as something only enterprise developers. Lenz Gschwendtner had some very good tutorial steps in his presentation at a Linux conference last year.
Message driven development can be hard due to the asynchronous nature
of messaging. Messaging is also often still considered enterprisey, and therefore out of reach for the average developer. I'll show you How to rewrite a monolithic web application into a scalable web app that uses RabbitMQ as the message queue. In the second step we introduce Redis, the NoSQL DB.