Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RabbitMQ and EasyNetQ
Search
Ken Taylor
January 08, 2013
Programming
1
130
RabbitMQ and EasyNetQ
Presentation given to the Hampton Roads .NET Users Group January 2013
Ken Taylor
January 08, 2013
Tweet
Share
More Decks by Ken Taylor
See All by Ken Taylor
Google BigQuery for the Big Data win
switchspan
0
43
Ruby 2.0 Keyword Arguments
switchspan
0
110
Github Back to Basics
switchspan
1
53
Lighten the load with RabbitMQ
switchspan
0
170
Other Decks in Programming
See All in Programming
5年分のツケを一気に払った話
soogie
3
970
AWS Lambda Web Adapterを活用する新しいサーバーレスの実装パターン
tmokmss
6
5.4k
Composing an API the *right* way (Droidcon New York 2024)
zsmb
2
540
コードレビューと私の過去と未来
jxmtst
0
150
ACES Meet におけるリリース作業改善の取り組み
fukucheee
0
110
上手に付き合うコンポーネントテスト
quramy
3
1.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
1.1k
型付きで行うVSCode拡張機能開発 / VSCode Meetup #31
mazrean
0
210
CSC509 Lecture 02
javiergs
PRO
0
160
Unlocking Python's Core Magic
leew
0
110
GraphQLとGigaViewer for Apps
numeroanddev
4
880
ファーストペンギンBot @Qiita Hackathon 2024 予選
dyson_web
0
210
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
A Tale of Four Properties
chriscoyier
155
22k
What's new in Ruby 2.0
geeforr
341
31k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
25
640
It's Worth the Effort
3n
183
27k
Mobile First: as difficult as doing things right
swwweet
222
8.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
125
18k
Making the Leap to Tech Lead
cromwellryan
130
8.8k
Learning to Love Humans: Emotional Interface Design
aarron
271
40k
How GitHub (no longer) Works
holman
310
140k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Transcript
RabbitMQ and EasyNetQ Ken Taylor (@taylorka) reQuire LLC “Messaging that
just works”
None
RabbitMQ: Who, What? • Developed by SpringSource • Written in
Erlang • Message Broker (MOM) • Advanced Message Queuing Protocol (AMQP)
RabbitMQ: Who, What? • NASA NEBULA Cloud Computing • AMQP
Sponsors –Microsoft –Bank of America –JPMorgan Chase –Et. Al.
None
RabbitMQ: Why? • Distributed • Asynchronous • Easy to use
• Highly fault tolerant
RabbitMQ: Why? "The world is concurrent. Things in the world
don't share data. Things communicate with messages. Things fail.“ - Joe Armstrong
RabbitMQ: The Basics • Exchanges • Queues • Routing •
Channels • Virtual Hosts
Mailbox, Postman & Post office
Exchange Types • Direct • Fanout • Topic • Headers
Direct Exchange
None
Headers exchange routing • Ignores routing key • Headers attributes
used for routing • Can bind a queue using one or more headers • Can route on other values – Integer – Hash/Dictionary – Others
Topic exchange routing • Routing to 1 or more queues
– Message routing key – Pattern for queue binding • Multicast Routing • Consumers choose message to receive
Queues • Store messages • Consumed by applications • Have
properties – Durable – Exclusive – Auto-delete • Declared before use
Channels & Virtual Hosts • Channels – Lightweight connections that
share a single TCP connection • Virtual Hosts – Allows broker to host multiple environments – Similar to virtual hosts on IIS
EasyNetQ: Who, What? • Open source (easynetq.com) • Written by
Mike Hadlow – github.com/mikehadlow • NuGet Package • Sponsored by 15below.com
EasyNetQ: Who, What? • Simple .NET API • Opinionated Implementation
– Trades flexibility for simplicity • Simple conventions – Messages should be represented by .NET types. – Messages should be routed by their .NET type.
EasyNetQ: Why? • Easy to install • Less code •
Serializes to JSON • Simple conventions DEMO
How can I use it today? • Download Erlang OTP
– Erlang.org • Download RabbitMQ – Rabbitmq.com • Install EasyNetQ with NuGet – “Install-Package EasyNetQ”
None
Questions? • Important Links – Rabbitmq.com – Erlang.org – EasyNetq.com
• About Me – Ken Taylor (Twitter @taylorka) – Switchspan.com