<?xml version="1.0" encoding="UTF-8"?><oembed><type>video</type><version>1.0</version><html>&lt;iframe src=&quot;https://www.loom.com/embed/96cade5858844a17ad4f11b95e216595&quot; frameborder=&quot;0&quot; width=&quot;1280&quot; height=&quot;960&quot; webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;</html><height>960</height><width>1280</width><provider_name>Loom</provider_name><provider_url>https://www.loom.com</provider_url><thumbnail_height>960</thumbnail_height><thumbnail_width>1280</thumbnail_width><thumbnail_url>https://cdn.loom.com/sessions/thumbnails/96cade5858844a17ad4f11b95e216595-1777e642b4b837f6.gif</thumbnail_url><duration>552.416</duration><title>Evolution of a Binance Futures Backend Architecture</title><description>This Loom explains the evolution of a Binance Perpetual Futures backend architecture to reliably scale order matching and state recovery. It starts with a single engine that matches orders and processes liquidation events, then splits the matching engine and order book to scale safely, using a database as a read only model for balances and positions. To handle traffic spikes and crashes, it introduces queues, durable event replay via a stream fed by a separate MarkRisePolar service, and snapshotting every 5 to 10 minutes stored in an S3 bucket to reduce millions of events recovery costs. It further separates database persistence (database polar) for independent scaling and resilience, then replaces repeated stream polling with PubSub so events deterministically route to the correct backend.</description></oembed>