3. Agenda
•
What / Why / When
•
Event-driven architecture and SignlaR
•
Scale-out SignalR
•
Performance tips
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
4. About me
Alessandro Melchiori
Software architect @ codiceplastico
@amelchiori
http://melkio.blog.codiceplastico.com
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
9. Pattern 1. Server broadcast
•
Low rate broadcast of the same payload to all clients
•
One message bus send maps to many users (fan out)
•
More clients don’t increase message bus traffic
10. Pattern 2. Server push
•
Low rate broadcast of the unique payload to each client
•
One message bus send maps to one user (no fan out)
•
More clients means more message bus traffic
11. Pattern 3. User event driven
•
Broadcast on client actions
•
One message bus send maps to many users (fan out)
•
More clients means more message bus traffic
12. Pattern 4. High frequency real-time
•
Fixed high rate broadcast from servers and clients
•
One message bus send maps to one user (no fan out)
•
More clients means more message bus traffic
14. Remember…
Have your app do as little as possible. If
you do nothing, you can scale infinitely.
Scott Hanselman
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
18. Scale-out SignalR
•
SQL Server, Redis & Windows Azure Service Bus
•
Great for the server broadcast load pattern
•
Limited for other scenarios
Every message goes to every server, so as traffic increases you’re limited by
how fast any one web server can pull messages off of the backplane
Backplanes are *much* slower
than single-server performance
21. Q&A
Tutto il materiale di questa sessione su
http://www.communitydays.it/
Lascia il feedback su questa sessione,
potrai essere estratto per i nostri premi!
Seguici su
Twitter @CommunityDaysIT
Facebook http://facebook.com/cdaysit
#CDays14
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
Notes de l'éditeur
Slide da mostrare prima di iniziare la sessione – non rimuovere!