The Success and Failure of Moving to a Message-Based Architecture

42
The Success and Failure of Moving to a Message-Based Architecture

description

Slide deck from my Messaging talk at CodeStock, 2014

Transcript of The Success and Failure of Moving to a Message-Based Architecture

Page 1: The Success and Failure of Moving to a Message-Based Architecture

The Success and Failure of

Moving to a Message-Based

Architecture

Page 2: The Success and Failure of Moving to a Message-Based Architecture

[email protected]://twitter.com/beefarinohttp://www.beefycode.comhttps://github.com/beefarino

Jim ChristopherCode Owls LLC

http://www.codeowls.com

Page 3: The Success and Failure of Moving to a Message-Based Architecture

[email protected]://twitter.com/beefarinohttp://www.beefycode.comhttps://github.com/beefarino

Jim ChristopherCode Owls LLC

http://www.codeowls.com

Page 4: The Success and Failure of Moving to a Message-Based Architecture
Page 5: The Success and Failure of Moving to a Message-Based Architecture
Page 6: The Success and Failure of Moving to a Message-Based Architecture
Page 7: The Success and Failure of Moving to a Message-Based Architecture
Page 8: The Success and Failure of Moving to a Message-Based Architecture
Page 9: The Success and Failure of Moving to a Message-Based Architecture
Page 10: The Success and Failure of Moving to a Message-Based Architecture
Page 11: The Success and Failure of Moving to a Message-Based Architecture

SELECT *FROM STUFF

WHERE TYPE=‘AWESOME’

Page 12: The Success and Failure of Moving to a Message-Based Architecture

Message

Persisted representation of work to be done across an application seam.

• Database Insert• Web Service Request

Page 13: The Success and Failure of Moving to a Message-Based Architecture

Queue

A place to which to write messages.A place from which to read messages.

• MSMQ• RabbitMQ• Azure / Windows Service Bus• SQL Server Service Broker• Filesystem & SQLite

Page 14: The Success and Failure of Moving to a Message-Based Architecture

Queue

A place to which to write messages.A place from which to read messages.

• FIFO• Transactional• Reliable, Persistent, Durable• Routing Features

Page 15: The Success and Failure of Moving to a Message-Based Architecture

Queue Consumer

A process that pulls messages from queue.

QUEUECONSUMER

Page 16: The Success and Failure of Moving to a Message-Based Architecture

I NEED DATA

QUEUECONSUMER

Page 17: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMER

I NEED DATA

Page 18: The Success and Failure of Moving to a Message-Based Architecture

???

QUEUECONSUMER

I NEED DATA

Page 19: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMERALL THE DATAS

Page 20: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMER

ALL THE DATAS

Page 21: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMER

Page 22: The Success and Failure of Moving to a Message-Based Architecture

CLIENT O C

Page 23: The Success and Failure of Moving to a Message-Based Architecture

Display( 2500 )

Web Service SQL Server

VendorServices

Page 24: The Success and Failure of Moving to a Message-Based Architecture

VendorServices

ADLOG AD

PLAYPROOF OF

PLAY

Page 25: The Success and Failure of Moving to a Message-Based Architecture

UNRELIABLE

Page 26: The Success and Failure of Moving to a Message-Based Architecture

2 MBX 2500 ~ 5GB

ADLOG

Page 27: The Success and Failure of Moving to a Message-Based Architecture

VendorServices

ADLOG AD

PLAYPROOF OF

PLAY

Page 28: The Success and Failure of Moving to a Message-Based Architecture

VendorServices

ADLOG AD

PLAYPROOF OF

PLAY

Page 29: The Success and Failure of Moving to a Message-Based Architecture

VendorServices

PROOF OF PLAY

ADPLAY

ADLOG

Page 30: The Success and Failure of Moving to a Message-Based Architecture

VendorServices

PROOF OF PLAY

ADPLAY

ADLOG

Page 31: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMER

ADLOG

Page 32: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMER

ADLOG

Page 33: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMER

ADLOG

Page 34: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMER

ADLOG

Page 35: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMER

ADPLAY

ADPLAY

Page 36: The Success and Failure of Moving to a Message-Based Architecture

QUEUECONSUMER

!

ADPLAY

Page 37: The Success and Failure of Moving to a Message-Based Architecture

VendorServices

PROOF OF PLAY

ADPLAY

ADLOG

Page 38: The Success and Failure of Moving to a Message-Based Architecture

20 1025000

VendorServices

Page 39: The Success and Failure of Moving to a Message-Based Architecture

20 1025000

VendorServices

Page 40: The Success and Failure of Moving to a Message-Based Architecture

25000 25 10

VendorServices

Page 41: The Success and Failure of Moving to a Message-Based Architecture

VendorServices

MSMQ!

MSMQ!

MSMQ!

MSMQ!

Page 42: The Success and Failure of Moving to a Message-Based Architecture

[email protected]://twitter.com/beefarinohttp://www.beefycode.comhttps://github.com/beefarino

Jim ChristopherCode Owls LLC

http://www.codeowls.com