Slide 1

Slide 1 text

Real Time Web With Django Channels Senko Rašić [email protected]

Slide 2

Slide 2 text

JOIN ME, AND TOGETHER WE WILL RULE THE GALAXY

Slide 3

Slide 3 text

WSGI

Slide 4

Slide 4 text

socket.io bro!

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Andrew Godwin

Slide 7

Slide 7 text

Django Channels + ASGI

Slide 8

Slide 8 text

Gunicorn uWSGI Django request response WSGI request response HTTP

Slide 9

Slide 9 text

Daphne Django message message ASGI request response HTTP

Slide 10

Slide 10 text

Daphne Django message message ASGI WSS upgrade WS frame HTTP WS frame WS frame WS frame message message message disconnect message

Slide 11

Slide 11 text

Daphne Django message message ASGI WSS upgrade WS frame HTTP WS frame WS frame WS frame message message message disconnect message Django Django Django Django Django

Slide 12

Slide 12 text

Daphne Django worker ASGI HTTP redis Django worker Django worker

Slide 13

Slide 13 text

Daphne Django worker ASGI HTTP redis Django worker Django worker Daphne HTTP

Slide 14

Slide 14 text

Interface Server Worker server ASGI HTTP Channel Layer Worker server Worker server Interface Server HTTP ASGI ASGI ASGI ASGI

Slide 15

Slide 15 text

Interface Server Consumer (View) HTTP GET ASGI http.request Interface Server HTTP response ASGI http.response!abc HTTP request handling

Slide 16

Slide 16 text

Interface Server Consumer WS socket ASGI websocket.receive Interface Server WS socket1 ASGI websocket.send!abc WebSockets handling Interface Server WS socket2 ASGI websocket.send!def

Slide 17

Slide 17 text

View Consumer ASGI ASGI jobqueue Consumer Consumer ASGI ASGI Bonus: task queue ASGI

Slide 18

Slide 18 text

DEMO TIME!

Slide 19

Slide 19 text

That’s all, Folks! See also: Reinventing Django for the Real-Time Web https://www.youtube.com/watch?v=2sEPipctTxw

Slide 20

Slide 20 text

Image credits: Darth Vader - https://www.pinterest.com/jaclynnpetersen/star-wars/ Trabant - https://en.wikipedia.org/wiki/Trabant Rube Goldberg Machine - https://en.wikipedia.org/wiki/Rube_Goldberg_machine Meditating Monk - https://www.flickr.com/photos/aigle_dore/24065839299 Flying DeLorean - http://mugen.wikia.com/wiki/Delorean