get on the bus chris klug – code ninja [email protected] | @zerokoll
TRANSCRIPT
![Page 2: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/2.jpg)
Who am I?
![Page 3: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/3.jpg)
Assumptions
![Page 4: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/5.jpg)
Relayed Messaging 101
![Page 6: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/6.jpg)
Client Service
Service Bus
![Page 7: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/7.jpg)
DemoCreating a relayed service
![Page 8: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/8.jpg)
Discovery...built into the Service Bus...
![Page 9: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/9.jpg)
DemoMaking a service discoverable
![Page 10: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/11.jpg)
DemoLoadbalancing a relayed service
![Page 12: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/12.jpg)
HTTP API...everyone’s favorite API...
![Page 13: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/13.jpg)
DemoMaking the IsItFriday HTTP-based
![Page 14: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/14.jpg)
Brokered Messaging 101
![Page 15: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/15.jpg)
Client Service
Service BusQueues & Topics
![Page 16: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/16.jpg)
2 Main FeaturesQueues | Topics & Subscriptions
![Page 17: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/19.jpg)
DemoUsing Service Bus Queues
![Page 20: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/23.jpg)
DemoUsing Service Bus Topics
![Page 24: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/25.jpg)
DemoAdding a Subscription Filter
![Page 26: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/27.jpg)
DemoUsing deadlettering
![Page 28: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/29.jpg)
DemoUsing autoforwarding
![Page 30: Get On The Bus Chris Klug – Code Ninja chris@activesolution.se | @ZeroKoll](https://reader036.vdocuments.mx/reader036/viewer/2022062417/55177f615503460e6e8b5423/html5/thumbnails/30.jpg)
Service Bus Notification Hubs