ایک ہلکا پھلکا، تیز رفتار، اوپن سورس تقسیم شدہ لاک سروس جو ایک ہی کلید سے متعدد سرورز اور پراسیسز کی ترتیب طے کرتی ہے
Ticketing ایک تقسیم شدہ لاک سرور ہے جو آپ کے سب سے زیادہ ٹریفک والے لمحات کو ممکنہ حد تک تیزی سے سنبھالنے کے لیے بنایا گیا ہے۔ یہ ان حادثات کو روکنے کے لیے موجود ہے جب محدود مقدار سے زیادہ فروخت ہو جائے، ایک ہی نشست دو افراد کو دے دی جائے، یا ایک ہی کوپن بیک وقت دو بار استعمال ہو جائے۔
زیادہ تر تقسیم شدہ لاکس کے برعکس، جو اسکرپٹس کی صورت میں نافذ کیے جاتے ہیں، Ticketing میموری کی کارکردگی اور رفتار دونوں حاصل کرنے کے لیے Rust میں لکھا گیا ہے۔ یہ فکسڈ چوڑائی والے بائنری پروٹوکول کو بغیر پارسنگ کے آفسیٹ سے پڑھتا ہے، اور درخواست کی پروسیسنگ کے دوران بھی ہیپ پر allocate نہیں کرتا۔ سنگل نوڈ بینچ مارکس میں یہ 10MB سے کم میموری استعمال کرتے ہوئے 10 لاکھ سے زیادہ آپریشنز فی سیکنڈ سنبھالتا ہے۔ اس کی قطار ترتیب کی ضمانت دیتی ہے، اور Raft کلسٹر آن ہونے پر، نوڈز کے ایک ایک کر کے بند ہونے کے دوران بھی — مثلاً کلاؤڈ انسٹینس ری بوٹس یا مرحلہ وار دیکھ بھال کے دوران — سروس بغیر کسی تعطل کے چلتی رہتی ہے۔
بائنری فریم پروٹوکول
شروع سے ہی فکسڈ چوڑائی کے بائنری فیلڈز کے ساتھ ڈیزائن کیا گیا، جو بغیر کسی پارسنگ کے براہ راست بائٹ آفسیٹس سے کم سے کم اوورہیڈ کے ساتھ پڑھا جاتا ہے۔
فینسنگ ٹوکنز
ہر حصول (acquire) پر یکسر بڑھتا ہوا ٹوکن جاری ہوتا ہے، جو آپ کو ان لمحات میں بھی محفوظ رکھتا ہے جب لاک سرور مکمل طور پر مستقل نہ ہو۔
بلا تعطل کلسٹر
Raft اتفاقِ رائے پر مبنی کلسٹر۔ 3 نوڈز کے ساتھ، نوڈ کی ناکامی اور دوبارہ آغاز کے دوران بھی سروس چلتی رہتی ہے، اور تقسیم (partition) کے دوران بھی باہمی اخراج (mutual exclusion) کبھی نہیں ٹوٹتا۔
بڑی زبانوں کے لیے مقامی کلائنٹس
Java/Kotlin، JavaScript/TypeScript، Python، Go، Rust اور مزید کے لیے سرکاری کلائنٹس — ہر ایک اس زبان کے لیے فطری محسوس ہونے والے idiomatic API (async یا blocking) کے ساتھ۔
سرور تعیناتی گائیڈ
Docker · Podman · Kubernetes · بائنری — سنگل/کلسٹر رن کمانڈز ابھی بنائیں
→
کارکردگی
سب سے زیادہ استعمال ہونے والے ڈسٹری بیوٹڈ لاک سسٹم Redisson (Redis) کے ساتھ رفتار کا موازنہ۔
Ticketing کلائنٹسRedis (Redisson RLock)
Redisبنیادی خط
4,909.1 ms · 8,148 ops/s
4,909.1 ms
بار کی لمبائی پورے عمل میں لگنے والے وقت (ms) کو ظاہر کرتی ہے — جتنا چھوٹا، اتنا تیز۔
32 contended keys × 1,250 ops · concurrency 64 · mac mini m4 2024 basic (10 core), single local server, acknowledged release, 1s min-work budget
پلیٹ فارم سپورٹ