Uživatelé nevidí zprávy v reálném čase, notifikace přicházejí se zpožděním a online chat zpomaluje? REST pro to není vhodný — potřebujete WebSocket nebo SSE. Obousměrný komunikační kanál, okamžité doručení, škálování přes Redis Pub/Sub. Funguje tam, kde je REST bezmocný.
Vývoj real-time API je vytváření systémů, kde jsou data doručována okamžitě. Chaty, notifikace, kolaborativní editace, burzovní kotace, online hry — jakýkoli scénář, kde záleží na rychlosti doručení zpráv.
WebSocket — plnohodnotný obousměrný komunikační kanál nad TCP. Minimální zpoždění, trvalé spojení bez přeinstalace
Server-Sent Events (SSE) — lehký protokol pro jednosměrný přenos událostí ze serveru do prohlížeče. Pro notifikace a feedy aktualizací
Škálování — WebSocket přes Redis Pub/Sub nebo RabbitMQ pro horizontální škálování. Tisíce současných připojení na jednom uzlu.
Bezpečnost — WSS (WebSocket Secure), autentizace při navazování spojení, validace příchozích zpráv
WebSocket · SSE · Pub/Sub · Redis · WSS
Real-time pokrývá širokou škálu úkolů. Od jednoduchých notifikací po multiplayerovou spolupráci. Protokol vybíráme podle konkrétního scénáře.
WebSocket pro okamžité doručení zpráv. Podpora stavů: online, offline, píše. Historie zpráv, soubory, reakce. Skupinové a soukromé chaty.
SSE pro lehké doručení událostí do prohlížeče. Push notifikace přes WebSocket. Filtrování podle typu, priority, uživatele. Garantované doručení.
Operational Transform pro společnou editaci. WebSocket pro synchronizaci kurzorů. OT algoritmy nebo CRDT pro řešení konfliktů.
Real-time je, když uživatel obdrží zprávu dříve, než stihne pomyslet "proč je ticho". Stavíme systémy, kde se zpoždění měří v milisekundách, ne v sekundách.
Real-time systémy nejsou jen WebSocket. Navrhujeme architekturu, která zvládá tisíce současných připojení a garantuje doručení každé zprávy.
Architektura připojení — WebSocket vs SSE vs long-polling. Vybíráme protokol podle úkolu. Navrhujeme místnosti a kanály pro skupinové vysílání.
Škálování — Redis Pub/Sub pro výměnu zpráv mezi uzly. Horizontální škálování WebSocket serverů se sdíleným stavem.
Real-time na Node.js — WebSocket servery na Node.js se Socket.IO nebo ws. Integrace s REST API a stávajícím backendem.
Garance doručení — at-most-once, at-least-once, exactly-once. Potvrzení přijetí, opětovné odeslání při ztrátě spojení.
Monitoring — počet aktivních připojení, propustnost, zpoždění. Prometheus + Grafana pro real-time metriky.
REST + WebSocket hybrid — REST pro request-response a WebSocket pro push notifikace. Optimální architektura pro moderní aplikace.
Redis Pub/Sub umožňuje horizontálně škálovat WebSocket servery. Zpráva odeslaná na jednom uzlu je okamžitě doručena přes Redis na všechny ostatní uzly. Tisíce připojení — jedna fronta.
Objednat real-time API — získat systém, kde jsou data doručována okamžitě, připojení jsou spolehlivá a škálování je zabudováno do architektury.
Implementujeme at-least-once a exactly-once sémantiku. Zpráva dorazí i při dočasné ztrátě spojení — potvrzovací fronta a retry mechanismus.
Redis Pub/Sub, horizontální škálování WebSocket serverů. Tisíce současných připojení na jednu instanci, miliony na cluster.
Grafana dashboardy: aktivní připojení, propustnost, zpoždění. Alerty na Telegram při poklesu kvality připojení.
Real-time je, když uživatel nečeká. Stavíme systémy, kde se zpoždění měří v milisekundách a doručení zpráv je garantováno i při ztrátě spojení.