~/talk

Keeping it Real(time)

Talkat Dutch PHP Conference 2019 · 2019-06-06..06-08· [web-platform, web-performance]
slides:none on file

Built a live chat and beta video call system that sustains 1,000 concurrent connections on a $5 DigitalOcean droplet, using WebSockets with Crossbar/Autobahn (WAMP) and PHP libraries ReactPHP / Ratchet / Thruway for long‑running workers. Authentication uses WAMP challenge workers and one‑time tokens; meta events feed a worker that subscribes to topics and writes messages into a message queue and Redis for presence and lookup. The design minimizes HTTP polling, keeps the router dumb, and recovers durability via queues and Redis caching while exposing granular publish/subscribe and RPC permissions.

AI-written summary · about

  1. 0:00Introduction
  2. 1:40WebSockets
  3. 7:08What is WebSocket
  4. 8:24WebSocket System Diagram
  5. 18:01React PHP
  6. 19:19React Ratchet
  7. 19:53Authentication
  8. 22:21Permissions
  9. 24:29Goals
  10. 24:46Chat History
  11. 26:00Crossbar
  12. 29:11System Diagram
  13. 30:11Goal
  14. 34:15Code
  15. 34:48Keepalive
  16. 36:47WebSockets as a playground
  17. 37:08WebRTC
  18. 37:49PHP
  19. 38:29Service
  20. 40:37Research
  21. 42:16Questions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.