Top Banner
Get On The Bus Chris Klug – Code Ninja [email protected] | @ZeroKoll http://chris.59north.com/
31
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Get On The Bus

Chris Klug – Code [email protected] | @ZeroKoll

http://chris.59north.com/

Page 2: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Who am I?

Page 3: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Assumptions

Page 4: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

What is the Windows Azure Service

Bus?2 features and a kicker

Page 5: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Relayed Messaging 101

Page 6: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Client Service

Service Bus

Page 7: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

DemoCreating a relayed service

Page 8: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Discovery...built into the Service Bus...

Page 9: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

DemoMaking a service discoverable

Page 10: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Loadbalancing Relayed Calls

...just add a second service...or third...or...

Page 11: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

DemoLoadbalancing a relayed service

Page 12: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

HTTP API...everyone’s favorite API...

Page 13: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

DemoMaking the IsItFriday HTTP-based

Page 14: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Brokered Messaging 101

Page 15: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Client Service

Service BusQueues & Topics

Page 16: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

2 Main FeaturesQueues | Topics & Subscriptions

Page 17: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Service Bus Queues

• 256kb Payload limit• 1-5Gb storage limit• Long-polling in client• Two retrieval models– PeekLock, ReceiveAndDelete

• Supports deadlettering

Page 18: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Queues – Message Retrieval

• ReceiveAndDelete– Retrieves and Deletes message in one

• PeekLock– Retrieves and locks message – Complete(), Abandon(), Defer() or

Deadletter()

Page 19: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

DemoUsing Service Bus Queues

Page 20: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Topics & Subscriptions

ServiceService Bus

Topic

Service BusSubscription

Service BusSubscription

Client

ClientClient

Client

Page 21: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Topics & Subscriptions

• Create a Topic• Publisher sends messages to Topic• Service Bus forwards messages to

Subscriptions• Subscribers retrieve and handle

messages from Subscriptions

Page 22: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Topics & Subscriptions – Cont.• Builds on Service Bus Queues• Relies on BrokeredMessage– Supports same features• Deadlettering, retrieval mode etc per

Subscription

Page 23: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

DemoUsing Service Bus Topics

Page 24: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Subscription Filters

• Filters Topic messages based on SQL statement

• Declared at Subscription creation time

Page 25: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

DemoAdding a Subscription Filter

Page 26: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Deadlettering

• Poison messages– MaxDeliveryCount

• EnableDeadLetteringOnMessageExpiration– BrokeredMessage.TimeToLive– <Target>.DefaultMessageTimeToLive

• Deadletter– MyQueue/$DeadLetterQueue– <Target>Client.FormatDeadLetterPath()

• Queue must be emptied!!!

Page 27: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

DemoUsing deadlettering

Page 28: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Autoforwarding

Client OrdersOrdersEurope

Region=‘Europe’

OrdersAsia

Region=‘Asia’

OrdersUsa

Region=‘Usa’

Asia

Europe

Usa

MrZog

Supplier=‘MrZog’MrZog

MrZog

Supplier=‘MrZog’

MrZog

Supplier=‘MrZog’

Topic Subscription Queue

Page 29: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

DemoUsing autoforwarding

Page 30: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Service Bus Notification Hubs

Page 31: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll

Thank you! Any Questions?

Chris [email protected] | @ZeroKoll

http://chris.59north.com/