Games
Multiplayer-Games
Positionen, Room-Events, Session-Pings. Spieler am nächsten Edge. Regionale WebSocket-Cluster könnt ihr euch sparen.
Multiplayer im Detail →Live-Pub/Sub. Pfade, die sich selbst reparieren.
Das Mesh läuft schon. Demos ohne Login. Oder Cockpit aufmachen und ein Token minten.
Einmal publishen. Wer subscribed, holt das vom nächsten Edge. Kabel tot, ISP-Link sauer — der Traffic springt auf einen anderen gemessenen Overlay-Hop. Verschlüsselt die ganze Strecke.
Keine eigene weltweite WebSocket-Farm. Clients landen einfach am nächsten Edge.
Relays beweisen, wer sie sind. Produktivtraffic fährt nicht im Klartext.
Relay tot. Seekabel rauscht. Das Mesh hat schon eine andere gemessene Route. Ein paar Samples sind weg. Der Stream nicht.
Fan-out klebt nicht an einem Broker in einer Region.
Workload wählen
Drei Calls. Connect, subscribe, publish. Overlay schleppt die Bytes. Edges verteilen sie.
Games
Positionen, Room-Events, Session-Pings. Spieler am nächsten Edge. Regionale WebSocket-Cluster könnt ihr euch sparen.
Multiplayer im Detail →Fan-out
Kurse, Ops-Events, ein Ticker auf dem Kundenschirm. Einmal publishen. Polling ist der alte Weg.
Fan-out im Detail →Peers & Geräte
Signaling. Presence. Ein Sensor, der gerade aufwacht. Browser, Services, Gadgets — die reden über Relay-Hops, nicht über eure Origin-Sockets.
Über euer Setup reden →Plattformen
Kunden bekommen Pub/Sub mit Tokens. Der Origin bleibt von den Sockets weg. FastPubSub sitzt davor.
API-Plattform im Detail →Rumklicken
Zwei Tabs auf. Oder Laptop und Handy. Die Demo-Box mint ein kurzes Access Token und versteckt das Master Token. Dieselbe Trennung wie in Production.
Collaboration
Auf dem Laptop malen, am Handy zuschauen. Ein öffentlicher Channel, 5–60 Punkte pro Sekunde, WebSocket-RTT steht auf dem Schirm.
Ein verlorener Punkt ist egal. Tab zu: die Tafel ist weg.
Paint Board öffnen →Fan-out
Ein Encoder, viele Hörer. Stationen schicken Opus plus einen kleinen Snapshot vom aktuellen Track, damit der Titel auch nach dem späten Einstieg da ist. Manche Sender wollen ein Passwort.
Fällt ein Frame aus, läuft die Wiedergabe weiter. Live-Radio über Pub/Sub, keine MP3-Bibliothek und kein Icecast mit Platte.
Online Radio öffnen →Media
Raum = Tenant. Gäste per Invite, Host per Owner-Link. Kamera und Mic auf den eigenen Channels, die anderen per Pattern. Encode/Decode ist WebCodecs im Browser (nicht WebRTC). Der Demo-Host gibt nur Tokens und Raumzustand — Media läuft nicht darüber.
Meeting-Verschlüsselung ist noch aus. Mesh-Demo, kein Zoom-Produkt.
Video Meeting öffnen →Alle Demos: demo.fastpubsub.com
Pfad gegen Payload
Das Sample, das zählt, ist das, das jetzt stimmt. TCP wartet auf jedes verlorene Byte. Gut für eine Datei. Tödlich für einen Tick-Stream. FastPubSub steckt das Budget in einen funktionierenden Pfad. Ein paar Samples fehlen. Das ist der Deal.
Retransmit. Auf ACKs warten. Reihenfolge halten. Ein verloren gegangenes Paket parkt die Queue dahinter. Der Retransmit kommt. Das Sample ist schon alt.
Gut für Dateien und Logs. Schlecht für Live-Signale.
Kein App-Retransmit auf dem Hot Path. Wird der aktuelle Hop sauer, sucht das Mesh eine andere gemessene Route. Beim Wechsel verschwinden Nachrichten. Der Stream kommt zurück.
Fire-and-forget. Verschlüsselt. Relays messen sich weiter.
Wir versprechen nicht jede Nachricht. Wir versprechen den Pfad.
Wenn Links sterben
Andere Broker verstehen Zuverlässigkeit als „jedes Byte muss ankommen.“ Wir als „der Flow bleibt am Leben.“ Kabelbruch. DC weg. BGP-Flap. DDoS am Peering. Das Mesh sucht einen anderen Hop und schiebt Traffic weiter.
Empfangen. Autorisieren. Routen. Zustellen. Das ist der ganze Hot Path. Ein Schuss im Speicher. Keine Platte. Kein Replay-Puffer.
Rein, durchs Mesh, raus. Weniger Zahnräder. Weniger Stellen, an denen eine Millisekunde stirbt.
Bootstrap gibt dem Client eine Shortlist naher Edges. Der Client pingt sie. Er bleibt bei dem, der am schnellsten antwortet.
Erster Hop wird gemessen. Nicht eine Region aus der Config-Datei.
Relays bewerten Pfade: RTT, Jitter, Loss, Last. Den ganzen Tag. Zwischen DCs.
Pfad wird sauer? Das Overlay konvergiert in grob fünf Sekunden auf einen anderen. Live-Delivery wartet nicht auf ein Postmortem.
Relays tragen den Blob, dann kopieren sie ihn nah bei den Abonnenten. Niemand ist der eine globale Flaschenhals.
Ein Relay killen. Der Rest des Mesh kriegt weiter Traffic.
Auth soll nicht über den Ozean hüpfen. Lokale Token Stores leben dort, wo Leute wirklich connecten. Session-Daten syncen über das Mesh.
Master-Keys liegen nicht auf jedem Node. Ein kompromittiertes Relay ist hässlich. Es ist kein Master-Key-Leak. Transit läuft weiter, während Control oder eine Cloud-Region sich erholt.
Warum es das Overlay gibt
Bulk verstopft Transit. BGP wählt Policy, nicht Tempo. Provider kippen Packets am ersten Peering, das ihnen passt. FastPubSub spielt das Spiel anders. Drei Tricks.
Oft 5–25 ms weniger als ein umgeleiteter oder voller Public-Pfad. Die Zahlen bewegen sich. Live-Karte ansehen.
Transit-Router mischen eure Ticks mit fremdem Bulk. Packets sitzen in Shared Buffers. Wir ziehen die Nachricht früh ins Overlay und schicken sie über Backbones, die zwischen den Regionen wirklich existieren.
BGP will Erreichbarkeit und Policy. Schnellstes Fiber? Optional. Relays messen sich weiter. Default-Pfad wird hässlich — das Overlay nimmt einen, den es schon gemessen hat.
Carrier kippen Traffic am ersten öffentlichen Exchange. Extra Jitter. Extra Meilen. Ihr geht am nächsten Edge rein. Der Blob bleibt in der Relay-Fabric bis zum fernen DC.
Hop-Count ist ein Tipp. Relays wählen Pfade nach RTT, Jitter und Loss, die sie gerade gemessen haben.
Client zum Edge ist verschlüsselt. Relays authentifizieren sich. Nichts fährt im Klartext.
Pub/Sub und Channel-Namen. Das ist die API. Ihr betreibt keine weltweite Socket-Farm.
Bootstrap listet nahe Edges. Der Client hetzt sie. Schnellster Ping gewinnt.
Connect, subscribe, publish. Kleine API. Browser können WebTransport. C# und Java liegen im Repo. Noch keine Packages.
Latest-only. Delta. Fragment. Encrypt. Bandwidth cap. Tokens können zusätzlich KB/s rein und raus begrenzen.
FragmentFilter.Jitter sieht man auf dem Schirm. Positionen, Rooms, Session-Stöße. Spieler sollen keinen schlechten BGP-Tag spüren.
Dashboards, Kurse, Kunden-Feeds. Viele Sockets. Der Origin soll sie nicht alle halten.
Origin abschirmen. Scoped Tokens rausgeben. Worker active-active. Tenants isolieren.
Events hüpfen Ozeane. Direct Internet Routing wird hässlich. Der Stream muss trotzdem laufen.
Ein PoP stirbt. Ein Link stirbt. Traffic zieht um. Genau deshalb ein Mesh.
Verschlüsselte Sockets · Pfade, die zwischen Regionen heilen · keine Platte auf dem Hot Path
Relays forwarden. Edges kopieren nah bei Listenern. Keine Box in der Mitte jedes Fan-out.
Keine globale Ordnung auf einem Channel. Jeder Subscriber hat seinen eigenen Flow. Ein Handy im 3G friert keinen Trading-Screen ein.
Neuester State reitet gemessene Low-Latency-Hops. History ist euer Problem, auf eurer Platte, wenn ihr sie braucht.
Rust und JavaScript jetzt. Connect, subscribe, publish. App schreiben. Networking-Gerüst lassen.
Verschlüsselte globale Zustellung. Gemessenes Routing. Failover. Scoped Tokens. Der Kern ist live. Demos sind öffentlich. Cockpit und Docs stehen.
Neu: Paint Board, Online Radio und Video Meeting ohne Konto. JavaScript-SDK @fastpubsub-sdk/client 0.4.x (WebTransport im Browser) und Rust-SDK fastpubsub-sdk 0.3.x auf npm und crates.io.
Token im Cockpit minten. Oder erst die Demos anfassen.