بُني من المبادئ الأساسية.

مُصمم من الصفر لمعالجة البيانات متعددة الخيوط في الذاكرة. لا ديون تقنية موروثة، لا عبء وقت التشغيل، لا تنازلات.

مصمم لأداء يمكن التنبؤ به

تزيل بنية FlashKey الاختناقات التي تحد من مخازن الذاكرة التقليدية.

حلقة أحداث متعددة الخيوط

كل خيط عامل يشغل حلقة أحداث epoll/kqueue خاصة به، يعالج الأوامر بالتوازي دون تنافس.

مساحات ذاكرة لكل خيط

تخصيص الذاكرة المحلي للخيط يزيل تنافس الأقفال ويوفر أداء تخصيص يمكن التنبؤ به.

هياكل بيانات بدون أقفال

جداول التجزئة المتزامنة وقوائم التخطي تمكن القراءة والكتابة المتوازية بدون عبء كائنات المزامنة.

محرك تخزين متكامل

لقطات MVCC واستمرارية AOF مدمجة مباشرة في النواة — لا حاجة لتنسيق عمليات خارجية.

من الطلب إلى الاستجابة

كل عملية تتبع مسارًا حتميًا محسنًا لأقل زمن استجابة.

1

قبول الاتصال

الاتصالات الواردة موزعة عبر خيوط العمال من خلال SO_REUSEPORT.

2

تحليل الأوامر

تحليل بروتوكول RESP2/RESP3 مع إدارة المخزن المؤقت بدون نسخ.

3

التنفيذ

تنفيذ الأمر على هياكل البيانات المحلية للخيط مع عزل MVCC.

4

الاستجابة

النتيجة مُسلسلة ومُرسلة عبر حلقة أحداث نفس خيط العامل.

توسع أفقي وشفاف

تقوم مجموعة FlashKey بتوزيع البيانات عبر العقد باستخدام تخصيص فتحات التجزئة المتوافق مع Redis.

العقد الرئيسية

حاملو البيانات الأساسيون مع تخصيص فتحات التجزئة التلقائي. كل عقدة رئيسية تتعامل مع مجموعة فرعية من 16,384 فتحة تجزئة.

عقد النسخ

نسخ متزامنة في الوقت الفعلي لتوسيع القراءة وتجاوز الفشل التلقائي. يمكن لكل عقدة رئيسية أن تحتوي على نسخ متعددة.

الحارس

مراقبة متكاملة وتنسيق تجاوز الفشل التلقائي. يكتشف أعطال العقدة الرئيسية ويرقي النسخ بدون تدخل يدوي.

خيارات تقنية مصممة لغرض محدد

كل مكون مختار للأداء والموثوقية.

C11
إدارة يدوية للذاكرة، صفر عبء وقت التشغيل، وصول مباشر للأجهزة
epoll / kqueue
إدخال/إخراج أصلي قائم على الأحداث لأقصى إنتاجية اتصال
AES-256-CTR
تشفير مسرّع بالأجهزة مع دعم مجموعة تعليمات AES-NI
Lua 5.1
محرك برمجة نصية مدمج لتكوين الأوامر على جانب الخادم

مستعد لرؤية البنية قيد التشغيل؟

سيرشدك فريق الهندسة لدينا عبر قرارات التصميم.