get on the bus
DESCRIPTION
Get On The Bus. Chris Klug – Code Ninja [email protected] | @ ZeroKoll http://chris.59north.com/. Who am I?. Assumptions. What is the Windows Azure Service Bus?. 2 features and a kicker. Relayed Messaging 101. Client. Service. Service Bus. Demo. - PowerPoint PPT PresentationTRANSCRIPT
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