NEXT.JS 15GO / gRPCWEBGL
ایتر ترمینال — صرافی رمزارز
تیک تا معامله زیر ۱۴ میلیثانیه · ۱٫۲۸ میلیون رویداد/ثانیه
ترمینال صرافی رمزارز سازمانی پرفرکانس با تأخیر زیر ۵۰ میلیثانیه، هیتمپ اوردربوک WebGL و تضمینهای لجر چندمستأجری.
گلوگاه بحرانی
رندر استاندارد DOM هنگام پردازش عمق اوردربوک L2/L3 پرسرعت (بیش از ۱۰۰هزار diff سطح قیمت در ثانیه) خفه میشد. فشار حافظه از ریرندرهای React باعث افت فریم مکرر میشد.
راهحل مهندسیشده
مصرف داده بازار را به وبورکرهای اختصاصی جدا کردم که با Protobuf باینری روی وبسوکت استریم میکنند. نقشههای عمق نردبان قیمت مستقیم روی بوم WebGL 2.0 آفسکرین رندر شد بدون هیچ مکث GC در ترد اصلی.
بنچمارکهای محصولی
۱٬۲۸۰٬۰۰۰ رویداد/ثانیه
توان رویداد
زیر ۱۴ میلیثانیه (p99)
تأخیر سرتاسری
زیر ۳٫۲٪ CPU
بار ترد اصلی
۱۲۰ فریم پایدار
پایداری فریم
استک معماری
Next.js 15 (App Router)Go 1.23 + gRPCWebGL 2.0 ShadersRing Buffers in WASM
// Offscreen WebGL depth buffer submission
const ring = new RingBuffer(SHARED_MEMORY_CAPACITY);
worker.onmessage = (evt) => {
const binaryDiff = new Uint8Array(evt.data);
ring.writeFast(binaryDiff);
gl.uniform1f(u_price_depth, ring.getNormalizedSpread());
gl.drawArraysInstanced(gl.TRIANGLE_STRIP, 0, 4, ring.length);
};