nmerouze / twitter-amqp-websocket-example

Simple example of Twitter + AMQP + RabbitMQ + Cramp + HTML5 WebSocket with no polling

Home Page:http://boldr.net/html5-websockets-cramp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Twitter AMQP WebSocket Example

Quick experiment of going from twitter to the browser, with no polling.

It goes something like this:

Twitter Stream → Filter → RabbitMQ → AMQP → EventMachine → WebSocket → HTML5 Browser

Since it uses a fanout exchange on RabbitMQ, it allows to have multiple clients connected to the eventmachine loop and receive the same real-time updates (and hopeful it will scale).

Requirements

  • Ruby
  • RabbitMQ
  • gem install bundler

How To

  1. gem bundle (first time, to install the dependencies)
  2. rabbitmq-server # start rabbitmq
  3. ruby twitterfeed.rb twitter_username twitter_password # start the filter
  4. ruby socket.rb # on another shell

Then you can open client/index.html on a HTML5 WebSocket compatible browser (tested with Webkit nightly).

Read the code, and have fun! :)

About

Simple example of Twitter + AMQP + RabbitMQ + Cramp + HTML5 WebSocket with no polling

http://boldr.net/html5-websockets-cramp


Languages

Language:Ruby 100.0%