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
140
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
45
Ruby 2.0 Keyword Arguments
switchspan
0
120
Github Back to Basics
switchspan
1
60
Lighten the load with RabbitMQ
switchspan
0
170
Other Decks in Programming
See All in Programming
rage against annotate_predecessor
junk0612
0
170
旅行プランAIエージェント開発の裏側
ippo012
2
920
はじめてのMaterial3 Expressive
ym223
2
880
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
240
print("Hello, World")
eddie
2
530
Rancher と Terraform
fufuhu
2
550
Ruby Parser progress report 2025
yui_knk
1
450
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
240
Featured
See All Featured
The Language of Interfaces
destraynor
161
25k
Side Projects
sachag
455
43k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
A Tale of Four Properties
chriscoyier
160
23k
Code Reviewing Like a Champion
maltzj
525
40k
Building Applications with DynamoDB
mza
96
6.6k
Designing for Performance
lara
610
69k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Site-Speed That Sticks
csswizardry
10
820
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Build your cross-platform service in a week with App Engine
jlugia
231
18k
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