SlideShare a Scribd company logo
Scaling Server-Sent Events (AKA Long Polling)
Stephen Ludin
Chief Architect, Akamai Technologies
What We Saw

09:51:23.051736 IP client.62471 >server.80: Flags [S], seq 233319732, win 65535
09:51:23.056777 IP server.80 >client.62471: Flags [S.], seq 227753171, ack 233319733, win 5792
09:51:23.056906 IP client.62471 >server.80: Flags [.], ack 1, win 32976
09:51:23.057034 IP client.62471 >server.80: Flags [P.], seq 1:156, ack 1, win 32976
09:51:23.061841 IP server.80 > client.62471: Flags [.], ack 156, win 215


And it just sat there…




Velocity 2011                            Powering a Better Internet                         ©2011 Akamai
Polling
                                                                  How much longer now?
 How much longer now?
                            How much longer now?
       How much longer now?                     How much longer now?

                                      How much longer now?                  How much longer now?
How much longer now?


     How much longer now?                                                    How much longer now?

                                         How much longer now?
 How much longer now?                                                         How much longer now?

                                                                   How much longer now?
                  How much longer now?

                                Dad, when are the fireworks starting?

  Velocity 2011                             Powering a Better Internet                        ©2011 Akamai
Long Polling




Velocity 2011   Powering a Better Internet   ©2011 Akamai
Long Polling – What is it?

A method for emulating „server push‟ and providing real time notifications
• Browser uses XMLHttpRequest to connect to origin and waits
• When there is data to send, the origin responds


Variants and frameworks:
• Long Polling
• Server-Sent Events
• HTTP Streaming
• Bayeux
• BOSH
• Comet


Velocity 2011                      Powering a Better Internet        ©2011 Akamai
Usage is growing




Velocity 2011      Powering a Better Internet   ©2011 Akamai
What‟s Changing




Velocity 2011     Powering a Better Internet   ©2011 Akamai
Requests For Help




Velocity 2011       Powering a Better Internet   ©2011 Akamai
The Challenges of Long-Polling for the Origin

Trading off high request rate (polling) for massive concurrent connections

Scaling at the Origin
• Not everyone has event-driven Web servers (Jetty, lighttpd, nginx)
• Still a lot of older architectures out there

What is really desired is a “Server Push” model

But despite all that, we still like long-polling
• Provides a “Real Time Web” without polling
• Makes modern HTTP applications possible


So: Is there a way to offload the connection load and provide server push?

Velocity 2011                           Powering a Better Internet           ©2011 Akamai
In Short…

Everyone wants to use long polling, but scaling is a challenge.

Addressing this scale problem will result in better origin performance.




Velocity 2011                  Powering a Better Internet             ©2011 Akamai
“Normal” HTTP Request Flow with a CDN




Velocity 2011           Powering a Better Internet   ©2011 Akamai
Long Poll HTTP Request Flow with a CDN




Velocity 2011            Powering a Better Internet   ©2011 Akamai
How can a CDN help?

Offload Via Edge Caching or Computing?

Acceleration?

Application of business logic?

Security / Web Application Firewall?




Velocity 2011                    Powering a Better Internet   ©2011 Akamai
Two Key Concepts

Half-Sync / Half-Async
• “Decouples synchronous I/O from asynchronous I/O in a system to simplify concurrent
programming effort” 1

Publish / Subscribe (Pub/Sub)
• The generic model behind most events




1 Douglas C. Schmidt and Charles D. Cranor, 1996, “Half-Sync/Half-Async: An Architectural Pattern for Efficient
  and Well-Structured Concurrent I/O”



Velocity 2011                                        Powering a Better Internet                                   ©2011 Akamai
Requesting an Event (Subscribe)

                                                       “User A wants Event 1”




                 T




                                                             User    Event        Token
                                                             A       1            T1
                                                             B       2            T2
                                                             C       1            T3

Velocity 2011             Powering a Better Internet                            ©2011 Akamai
Delivering the Event (Publish)

                “I‟ve Got Mail!”
                                                                    Event 2 Fired for User B!




                                                                              T


                                                                T

                                                                     User    Event     Token
                                                                     A       1         T1
                                                                     C
                                                                     B       1
                                                                             2         T3
                                                                                       T2
                                                                     C       1         T3

Velocity 2011                      Powering a Better Internet                        ©2011 Akamai
Half Sync / Half-Async Benefits

Provides the ability to scale

Enables “true” Server Push

Retains “real time” notification

Makes load balancing at the origin easier

Makes infrastructure management at the origin easier


Velocity 2011                      Powering a Better Internet   ©2011 Akamai
The Implementation

Token Construction
• Information needed to get back to the edge machine (IP)
• Customer specific code
• User information
• Subscription (Event) information
• Expiration




Velocity 2011                       Powering a Better Internet   ©2011 Akamai
The Implementation

On the Client:
• Use HTML 5 Server-Sent Events
• Use old fashioned long-polling
• Essentially, do what you do today




Velocity 2011                         Powering a Better Internet   ©2011 Akamai
The Implementation

On the Edge:
• Configure the surrogate to react appropriately




Velocity 2011                        Powering a Better Internet   ©2011 Akamai
The Implementation

For example, on Akamai:
<match:uri.component value=“subscribe-event”>
<variable:extract from=“post” key=“id” name=“EVENT”/>
<variable:extract from=“cookie” key=“user” name=“USER”/>
<edgeservices:event.handle-subscription>
<token>
<key>ywewu238347i3u</key>
<nonce-source>PORT</nonce-source>
</token>
<user>$(USER)</user>
<event-id>$(EVENT)</event-id>
</edgeservices:event.handle-subscription>
</match:uri.component>




Velocity 2011                Powering a Better Internet    ©2011 Akamai
The Implementation

And go Forward with:
POST /subscribe-event HTTP/1.1
Host: mail.foo.com
X-Event-Id: 2
X-Event-User: B
X-Event-Token: of2948f394fornvo334o343o4oejo23jf2
X-Event-Signature: f1d2d2f924e986ac86fdf7b36c94bcdf32beec15
...




Velocity 2011                Powering a Better Internet       ©2011 Akamai
The Implementation

On The Origin - Subscription
• Receive the subscription request
• Respond with a “202” (eg.) in the positive


On The Origin – Event Firing
• When event fires, send the event data
   • Sign token
   • Application specific, recommend SSE
• Fire and forget, persist, or stream




Velocity 2011                         Powering a Better Internet   ©2011 Akamai
The Implementation

POST /deliver-event HTTP/1.1
Host: event.foo.com
X-Event-Id: 2
X-Event-User: B
X-Event-Token: of2948f394fornvo334o343o4oejo23jf2
X-Event-Signature: e242ed3bffccdf271b7fbaf34ed72d089537b42f
Content-Length: 16

You’ve Got Mail!




Velocity 2011                Powering a Better Internet       ©2011 Akamai
Subscription Types

One Shot Event
• Force client reconnect (re-subscribe)




Velocity 2011                        Powering a Better Internet   ©2011 Akamai
Subscription Types (cont)

Repeatable Event
• Origin → CDN: Multiple Requests
• CDN → Client: HTTP Streaming




Velocity 2011                       Powering a Better Internet   ©2011 Akamai
Subscription Types (cont)

HTTP Streaming
• Similar to Multiple Events
• Potential for multiplexing




Velocity 2011                  Powering a Better Internet   ©2011 Akamai
Security

Risk: Bogus Event Injection

SSL on all sides will help
• Origin to CDN MUST be authenticated


The token MUST be secure
• Necessitates a shared secret or more expensive asymmetrical operations
• Replay protection




Velocity 2011                      Powering a Better Internet              ©2011 Akamai
Some Error Cases

Origin Rejects the subscription request
• An error is returned to the edge machine
• Edge machine delivers the error


Tokens are found to be invalid by some party
• Be paranoid
• Drop connections and force resubscription




Velocity 2011                        Powering a Better Internet   ©2011 Akamai
Error Cases (cont)

Client drops and reconnects
• If detected by edge machine, unsubscribe event can be fired
• Origin should detect multiple subscriptions and resolve
• Optional: If client also has a token it can be used to reconnect to the original edge
machine via redirect or tunneling


Edge machine „disappears‟
• Devolves (hopefully) to a client drop and reconnect




Velocity 2011                         Powering a Better Internet                      ©2011 Akamai
Error Cases (cont)

Annoying routers dropping quiet connections
• Heartbeat events can help (Wait! Isn‟t that polling?)
• Fortunately a well understood problem




Velocity 2011                         Powering a Better Internet   ©2011 Akamai
Mobile – Connectionless Push Friendly




Velocity 2011             Powering a Better Internet   ©2011 Akamai
What about WebSockets?

Not a good candidate (today)
• Bi-directional
• Opaque
Standard Acceleration techniques are ideal
Anticipating „standards‟ in the future




Velocity 2011                  Powering a Better Internet   ©2011 Akamai
Use Cases

E-Mail
• Millions of users want to know when they get new mail. Now.




Velocity 2011                       Powering a Better Internet   ©2011 Akamai
Use Cases

Social Networking
• What friends are online? What are they doing? I want to chat with them!




Velocity 2011                       Powering a Better Internet              ©2011 Akamai
Use Cases

Stock Quotes
• BSC: 78.34

• BSC: 75.56

• BSC: 38.12

• BSC: 3.12

• BSC: Delisted




Velocity 2011     Powering a Better Internet   ©2011 Akamai
Use Cases

Cloud Printing
• Printer manufacturer sells 100 million Internet-enabled printers and wants to enable
  cloud printing in a scalable and efficient manner.




Velocity 2011                        Powering a Better Internet                    ©2011 Akamai
Summary

Server-Sent Events is a great thing
• Introduces connection scaling problems
• Formalizes long-polling methodologies
• Useful whenever a user is expected to wait a „long time‟ for a reply

CDNs can help with the scaling problem
• Half-Sync / Half-Async
• Security Features
• Business Logic
• Acceleration

CDNs can provide a “server push” paradigm to the origin


Velocity 2011                         Powering a Better Internet         ©2011 Akamai
Questions




Velocity 2011   Powering a Better Internet   ©2011 Akamai

More Related Content

Similar to Addressing the scalability challenge of server sent events presentation (20)

PDF
Big datadc skyfall_preso_v2
abramsm
 
PDF
OSCON Data 2011 -- NoSQL @ Netflix, Part 2
Sid Anand
 
PDF
Http Push
Luke Melia
 
PPTX
Real Time Analytics for Big Data - A twitter inspired case study
Uri Cohen
 
PPTX
Etail 2012 Akamai Chief Scientist keynote
Liz Bradley
 
PDF
Damien Tanner, Pusher
Mashery
 
PDF
Http front-ends
Theo Schlossnagle
 
PDF
Building high traffic http front-ends. theo schlossnagle. зал 1
rit2011
 
PDF
Android push-applications-android
wadise
 
PDF
From Home Enabled Personal Media To Instant Personal Media Sharing
guest829cce0
 
PDF
Achieving Scale With Messaging And The Cloud 20090709
leastfixedpoint
 
PDF
DreamHack
Cisco Case Studies
 
PPT
Token ring 802.5
Adil Mehmoood
 
PPTX
Bigdata analytics-twitter
dfilppi
 
KEY
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
David Rosenblum
 
PDF
Inside dropbox
LINE+
 
PPTX
#lspe: Dynamic Scaling
steveshah
 
PDF
From Data Push to WebSockets
Alessandro Alinone
 
PDF
Server-Side Programming Primer
Ivano Malavolta
 
PDF
Firebase introduction
Mu Chun Wang
 
Big datadc skyfall_preso_v2
abramsm
 
OSCON Data 2011 -- NoSQL @ Netflix, Part 2
Sid Anand
 
Http Push
Luke Melia
 
Real Time Analytics for Big Data - A twitter inspired case study
Uri Cohen
 
Etail 2012 Akamai Chief Scientist keynote
Liz Bradley
 
Damien Tanner, Pusher
Mashery
 
Http front-ends
Theo Schlossnagle
 
Building high traffic http front-ends. theo schlossnagle. зал 1
rit2011
 
Android push-applications-android
wadise
 
From Home Enabled Personal Media To Instant Personal Media Sharing
guest829cce0
 
Achieving Scale With Messaging And The Cloud 20090709
leastfixedpoint
 
DreamHack
Cisco Case Studies
 
Token ring 802.5
Adil Mehmoood
 
Bigdata analytics-twitter
dfilppi
 
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
David Rosenblum
 
Inside dropbox
LINE+
 
#lspe: Dynamic Scaling
steveshah
 
From Data Push to WebSockets
Alessandro Alinone
 
Server-Side Programming Primer
Ivano Malavolta
 
Firebase introduction
Mu Chun Wang
 

Recently uploaded (20)

PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
July Patch Tuesday
Ivanti
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Ad

Addressing the scalability challenge of server sent events presentation

  • 1. Scaling Server-Sent Events (AKA Long Polling) Stephen Ludin Chief Architect, Akamai Technologies
  • 2. What We Saw 09:51:23.051736 IP client.62471 >server.80: Flags [S], seq 233319732, win 65535 09:51:23.056777 IP server.80 >client.62471: Flags [S.], seq 227753171, ack 233319733, win 5792 09:51:23.056906 IP client.62471 >server.80: Flags [.], ack 1, win 32976 09:51:23.057034 IP client.62471 >server.80: Flags [P.], seq 1:156, ack 1, win 32976 09:51:23.061841 IP server.80 > client.62471: Flags [.], ack 156, win 215 And it just sat there… Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 3. Polling How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? How much longer now? Dad, when are the fireworks starting? Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 4. Long Polling Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 5. Long Polling – What is it? A method for emulating „server push‟ and providing real time notifications • Browser uses XMLHttpRequest to connect to origin and waits • When there is data to send, the origin responds Variants and frameworks: • Long Polling • Server-Sent Events • HTTP Streaming • Bayeux • BOSH • Comet Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 6. Usage is growing Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 7. What‟s Changing Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 8. Requests For Help Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 9. The Challenges of Long-Polling for the Origin Trading off high request rate (polling) for massive concurrent connections Scaling at the Origin • Not everyone has event-driven Web servers (Jetty, lighttpd, nginx) • Still a lot of older architectures out there What is really desired is a “Server Push” model But despite all that, we still like long-polling • Provides a “Real Time Web” without polling • Makes modern HTTP applications possible So: Is there a way to offload the connection load and provide server push? Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 10. In Short… Everyone wants to use long polling, but scaling is a challenge. Addressing this scale problem will result in better origin performance. Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 11. “Normal” HTTP Request Flow with a CDN Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 12. Long Poll HTTP Request Flow with a CDN Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 13. How can a CDN help? Offload Via Edge Caching or Computing? Acceleration? Application of business logic? Security / Web Application Firewall? Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 14. Two Key Concepts Half-Sync / Half-Async • “Decouples synchronous I/O from asynchronous I/O in a system to simplify concurrent programming effort” 1 Publish / Subscribe (Pub/Sub) • The generic model behind most events 1 Douglas C. Schmidt and Charles D. Cranor, 1996, “Half-Sync/Half-Async: An Architectural Pattern for Efficient and Well-Structured Concurrent I/O” Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 15. Requesting an Event (Subscribe) “User A wants Event 1” T User Event Token A 1 T1 B 2 T2 C 1 T3 Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 16. Delivering the Event (Publish) “I‟ve Got Mail!” Event 2 Fired for User B! T T User Event Token A 1 T1 C B 1 2 T3 T2 C 1 T3 Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 17. Half Sync / Half-Async Benefits Provides the ability to scale Enables “true” Server Push Retains “real time” notification Makes load balancing at the origin easier Makes infrastructure management at the origin easier Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 18. The Implementation Token Construction • Information needed to get back to the edge machine (IP) • Customer specific code • User information • Subscription (Event) information • Expiration Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 19. The Implementation On the Client: • Use HTML 5 Server-Sent Events • Use old fashioned long-polling • Essentially, do what you do today Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 20. The Implementation On the Edge: • Configure the surrogate to react appropriately Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 21. The Implementation For example, on Akamai: <match:uri.component value=“subscribe-event”> <variable:extract from=“post” key=“id” name=“EVENT”/> <variable:extract from=“cookie” key=“user” name=“USER”/> <edgeservices:event.handle-subscription> <token> <key>ywewu238347i3u</key> <nonce-source>PORT</nonce-source> </token> <user>$(USER)</user> <event-id>$(EVENT)</event-id> </edgeservices:event.handle-subscription> </match:uri.component> Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 22. The Implementation And go Forward with: POST /subscribe-event HTTP/1.1 Host: mail.foo.com X-Event-Id: 2 X-Event-User: B X-Event-Token: of2948f394fornvo334o343o4oejo23jf2 X-Event-Signature: f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 ... Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 23. The Implementation On The Origin - Subscription • Receive the subscription request • Respond with a “202” (eg.) in the positive On The Origin – Event Firing • When event fires, send the event data • Sign token • Application specific, recommend SSE • Fire and forget, persist, or stream Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 24. The Implementation POST /deliver-event HTTP/1.1 Host: event.foo.com X-Event-Id: 2 X-Event-User: B X-Event-Token: of2948f394fornvo334o343o4oejo23jf2 X-Event-Signature: e242ed3bffccdf271b7fbaf34ed72d089537b42f Content-Length: 16 You’ve Got Mail! Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 25. Subscription Types One Shot Event • Force client reconnect (re-subscribe) Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 26. Subscription Types (cont) Repeatable Event • Origin → CDN: Multiple Requests • CDN → Client: HTTP Streaming Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 27. Subscription Types (cont) HTTP Streaming • Similar to Multiple Events • Potential for multiplexing Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 28. Security Risk: Bogus Event Injection SSL on all sides will help • Origin to CDN MUST be authenticated The token MUST be secure • Necessitates a shared secret or more expensive asymmetrical operations • Replay protection Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 29. Some Error Cases Origin Rejects the subscription request • An error is returned to the edge machine • Edge machine delivers the error Tokens are found to be invalid by some party • Be paranoid • Drop connections and force resubscription Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 30. Error Cases (cont) Client drops and reconnects • If detected by edge machine, unsubscribe event can be fired • Origin should detect multiple subscriptions and resolve • Optional: If client also has a token it can be used to reconnect to the original edge machine via redirect or tunneling Edge machine „disappears‟ • Devolves (hopefully) to a client drop and reconnect Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 31. Error Cases (cont) Annoying routers dropping quiet connections • Heartbeat events can help (Wait! Isn‟t that polling?) • Fortunately a well understood problem Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 32. Mobile – Connectionless Push Friendly Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 33. What about WebSockets? Not a good candidate (today) • Bi-directional • Opaque Standard Acceleration techniques are ideal Anticipating „standards‟ in the future Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 34. Use Cases E-Mail • Millions of users want to know when they get new mail. Now. Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 35. Use Cases Social Networking • What friends are online? What are they doing? I want to chat with them! Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 36. Use Cases Stock Quotes • BSC: 78.34 • BSC: 75.56 • BSC: 38.12 • BSC: 3.12 • BSC: Delisted Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 37. Use Cases Cloud Printing • Printer manufacturer sells 100 million Internet-enabled printers and wants to enable cloud printing in a scalable and efficient manner. Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 38. Summary Server-Sent Events is a great thing • Introduces connection scaling problems • Formalizes long-polling methodologies • Useful whenever a user is expected to wait a „long time‟ for a reply CDNs can help with the scaling problem • Half-Sync / Half-Async • Security Features • Business Logic • Acceleration CDNs can provide a “server push” paradigm to the origin Velocity 2011 Powering a Better Internet ©2011 Akamai
  • 39. Questions Velocity 2011 Powering a Better Internet ©2011 Akamai

Editor's Notes

  • #8: Talk about the implications of SSEMention XSLTAjaxCometOrbitedReal Time WebXMPP over HTTP
  • #9: Holding connections open in memory or computationally expensive
  • #12: Talk about what is a CDN - Caching - Acceleration - Your new front door - Security
  • #14: Stuck in the mindset that we cannot offload this traffic. It is ‘no-store’
  • #16: Be clear about the token
  • #33: Preserve Battery life, etc.iMessenger