signal r azurepresentation

Post on 07-Jul-2015

439 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The Real-Time Web with SignalRand Azure Service BusJustin Wendlandt

Senior Consultant – Magenic Technologies

http://jwendl.net/

@jwendl on Twitter

Overview

Real Time Web

Implementations

Examples

Signal R

Horizontal Scaling with Azure

Demo

Questions and Answers

Real-Time Web Overview• Content on Demand vs. Published

• UX Similar to Desktop Applications

• More Social and Interactive

Forced Video Feed Switching• Scott Hanselman for DotNetConf

• Problem – Google Hangouts required users to refresh browser to see next video

• Solution – Have SignalR and Azure Service bus switch out the videos when an administrator published them

Real-time Deals on Amazon.com• Real time deals based on

purchased data

• More social and interactive experience for users

Real-Time Map API Hooks• Use Bing Api

• Provide Locations of Users When Discovered

The Web and HTTP•Browser asks for document

•Server replies with 200 ok and bodyGET

•Browser uploads a document

•Server replies with 200 ok PUT

•Browser takes previous response

•Sends modified data to server

•Server replies with 200 okPOST

•Browser asks server to remove a document

•Server replies with 200 ok and deletes document

DELETE

•Browser takes previous response

•Browser sends only merged data to server

•Server replies with 200 okMERGE

Publish Subscriber Pattern

Publisher

Subscribers

Service Bus

or Hub

Devices

Publish Subscriber Pattern on the Web• Implemented using Web Sockets

– RFC 6455

– Google

http://www.rfc-editor.org/rfc/rfc6455.txt

Introduction to SignalR• https://github.com/SignalR

• Most popular implementations

– Jabbr - https://jabbr.net/

Failover Methods if Web Sockets Fail

Web Sockets

Server Sent Events (EventSource)

Forever Frame

Ajax Long Polling

Why Azure?• Highly Scalable

• Unlimited Bandwidth (for a cost)

• Easy Deployment and Configuration models

Continuous Integration and Azure

Write Code

Check In to cloud

A Build is Kicked off

Deployment Sent to Azure

SignalR Demonstration• Hosted on Azure with TFS (http://tfs.visualstudio.com/)

• Requirements to run Demo

– Windows Azure SDK

– SignalR NuGet package

– ASP.NET MVC 4

Horizontal Scaling Concepts• Server hardware is expensive

• Configuring more instances is complex

Azure Service Bus• Queues

– Holds Messages

– Pushes to Subscribers

• Topics

– Contract

– Specific Messages / Connections

Demo of Azure Service Bus• Simple demo of Azure Service Bus

Scale out using Azure Service Bus• Integrated in 1.1 beta for SignalR

• One line of code that does so much

Performance Configurations for IIS

Increase number of concurrent requests per application

Increase number of concurrent requests per CPU

Increase the request queue limit

Scale out more instances if on Azure or another Service Bus like Redis

References• SignalR

– http://signalr.net/– http://www.asp.net/signalr/overview– https://github.com/SignalR/SignalR– http://weblogs.asp.net/davidfowler/– http://damianedwards.wordpress.com/– http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongru

nningConnectionsWithSignalR.aspx• Azure Service Bus

– http://www.windowsazure.com/en-us/develop/net/tutorials/multi-tier-application/– http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-queues/– https://github.com/SignalR/SignalR/wiki/Azure-service-bus

• Web Sockets– http://www.w3.org/TR/websockets/– http://www.rfc-editor.org/rfc/rfc6455.txt

Questions?@jwendl on Twitter

jwendl@hotmail.com

http://www.jwendl.net/

top related