Mar 29, 2015
Who am I?
Assumptions
What is the Windows Azure Service
Bus?2 features and a kicker
Relayed Messaging 101
Client Service
Service Bus
DemoCreating a relayed service
Discovery...built into the Service Bus...
DemoMaking a service discoverable
Loadbalancing Relayed Calls
...just add a second service...or third...or...
DemoLoadbalancing a relayed service
HTTP API...everyone’s favorite API...
DemoMaking the IsItFriday HTTP-based
Brokered Messaging 101
Client Service
Service BusQueues & Topics
2 Main FeaturesQueues | Topics & Subscriptions
Service Bus Queues
• 256kb Payload limit• 1-5Gb storage limit• Long-polling in client• Two retrieval models– PeekLock, ReceiveAndDelete
• Supports deadlettering
Queues – Message Retrieval
• ReceiveAndDelete– Retrieves and Deletes message in one
• PeekLock– Retrieves and locks message – Complete(), Abandon(), Defer() or
Deadletter()
DemoUsing Service Bus Queues
Topics & Subscriptions
ServiceService Bus
Topic
Service BusSubscription
Service BusSubscription
Client
ClientClient
Client
Topics & Subscriptions
• Create a Topic• Publisher sends messages to Topic• Service Bus forwards messages to
Subscriptions• Subscribers retrieve and handle
messages from Subscriptions
Topics & Subscriptions – Cont.• Builds on Service Bus Queues• Relies on BrokeredMessage– Supports same features• Deadlettering, retrieval mode etc per
Subscription
DemoUsing Service Bus Topics
Subscription Filters
• Filters Topic messages based on SQL statement
• Declared at Subscription creation time
DemoAdding a Subscription Filter
Deadlettering
• Poison messages– MaxDeliveryCount
• EnableDeadLetteringOnMessageExpiration– BrokeredMessage.TimeToLive– <Target>.DefaultMessageTimeToLive
• Deadletter– MyQueue/$DeadLetterQueue– <Target>Client.FormatDeadLetterPath()
• Queue must be emptied!!!
DemoUsing deadlettering
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
DemoUsing autoforwarding
Service Bus Notification Hubs