Building Event Based Systems for the Real-Time Web – Paul Dix @pauldix #w2e

Building Event Based Systems for the Real-Time Web

Paul Dix – @pauldix

Event Based: data update -> do something
Batch: need data -> calculate
Real-Time: data update -> notification
Scheduled: occasionally -> do stuff
Event based = real-time

Avoid building self contained monolithic systems
Loosely coupled systems will scale (complexity, team size)

Definition by example
SQL Databases (relational db)
Event based: triggers
Batch: count, sum, min, max
Real-time -> counter cache
Schedule? cron, at, schtasks
It is broken and self contained, monolithic

Distributed Systems
Event Based: messaging, publish, subscribe, amqp
Batch: MapReduce, Hadoop
Real-Time: messaging, publish/subscribe
Scheduled: delayed replications, data backups

The Web
Event based: 
Batch: polling
Real-time: web hooks, web sockets, pubsubhubbub, rsscloud
Scheduled: check every 1 hour

Distributed (internal) Systems
Service Calls – Used to be SOAP, now REST is more commons
Ex: Feed Reader (on fetch)
Tightly coupled and could cause impacts to other systems

Rabbit MQ – AMQP
Exchanges –¬†

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s