Book Image

Building Scalable Apps with Redis and Node.js

By : Joshua Johanan
Book Image

Building Scalable Apps with Redis and Node.js

By: Joshua Johanan

Overview of this book

Table of Contents (17 chapters)
Building Scalable Apps with Redis and Node.js
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Our first message queue


Now that we have a working RabbitMQ server, let's use it to build something. We will create a simple web server that will add a message to a queue on each request. We will also have a worker script that will work the queue.

First, create a new directory named rabbit_first. Create a package.json file and add the following code to it:

{
  "dependencies": {
    "amqp": "0.2.0"
  }
}

Then, run npm install. After this command finishes, create the app.js file and add the following code to it:

var http = require('http'),
  amqp = require('amqp');
var rabbit = amqp.createConnection();

rabbit.on('ready', function(){
  rabbit.exchange('my-first-exchange', {type: 'direct', autoDelete: false}, function(ex){
    startServer(ex);
  });
});

function startServer(ex)
{
  var server = http.createServer(function(req, res){
    console.log(req.url);
    ex.publish('first-queue', {message: req.url});

    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('<h1>Simple HTTP...