مقدمة (تحليل نقاط الألم)

أعزائي مهندسي ومطوري التجارة الإلكترونية، عندما ينفخ في بوق المعركة “دبل 11” و “618” وغيرها من العروض الترويجية الكبيرة في مواجهة تسونامي من حركة المستخدمين، هل سبق لكم أن واجهتم المشاكل التالية؟

  • تعطل النظام على الفور.في اللحظة التي يبدأ فيها الارتفاع المفاجئ، ينقر ملايين المستخدمين في نفس الوقت، وتصل حركة المرور الفورية إلى ذروتها مباشرةً عبر قاعدة البيانات، ويتعطل النظام بأكمله، ولا يمكن فتح الصفحة، وفقدان معاملات ضخمة.
  • معضلة البيع الزائد في المخزونفي ظل الطلبات المتزامنة، يتم تسليط الضوء على اختناقات أداء قفل قاعدة البيانات التقليدية للقراءة/الكتابة في ظل الطلبات المتزامنة، مما قد يؤدي بسهولة إلى أخطاء في خصم المخزون وظاهرة “الإفراط في البيع”، مما يؤدي إلى خسارة كبيرة في رأس المال وشكاوى العملاء.
  • الاستجابة بطيئة للغاية.على الرغم من أن النظام لم يكن معطلاً تماماً، إلا أن رابط المعاملات الأساسي كان بطيئاً، وكان على المستخدمين الانتظار عشرات الثواني لطلبات الشراء، وكانت التجربة سيئة للغاية، وارتفع معدل التخلي عن عربة التسوق.
  • تكاليف الموارد ومعضلة المرونة.يكون عدد كبير من الماكينات التي تم شراؤها للتعامل مع الذروة عاطلة عن العمل مباشرةً بعد الارتفاع المفاجئ، مما يؤدي إلى استخدام منخفض للغاية للموارد وتكاليف عالية. التوسيع والتقلص اليدوي غير فعال ولا يمكنه التعامل مع التقلبات اللحظية في حركة المرور.

إذا كنت تواجه مشكلة في كيفية تصميم نظام سبايك الذي يمكنه التعامل مع ملايين من تزامنات QPS، وضمان اتساق البيانات، وتحسين التكلفة، فإن هذا الحل الهائل الذي أثبت نجاحه في مجال الأعمال التجارية من Tencent Cloud سيوفر لك إجابة واضحة وموثوقة.

مخطط بنية الحل ونظرة عامة

يوضح الشكل التالي البنية الأساسية وعملية تدفق البيانات لحل Tencent Cloud Seconds:

حل بنية Tencent السحابية للارتفاع السحابي: كيف يمكن تحقيق ملايين الطلبات المتزامنة في وقت واحد دون توقف لمواقع التجارة الإلكترونية؟ - LikaCloud

أفكار التصميم الأساسية لهذا البرنامج هي“الاعتراض متعدد الطبقات، والمعالجة غير المتزامنة، والمتسقة في النهاية”سير العمل على النحو التالي:

  1. 1.الوصول إلى حركة المرور وجدولتها.يتم تمرير طلب المستخدم أولاً من خلالتسريع التطبيقات العالمية (GAAP)ربماCDNمدخل الوصول السريع عبرموازنة التحميل (CLB)التوزيع بالتساوي.
  2. 2.تحسين طلب القراءة والمجموعات الاختبارية.يتم توجيه الغالبية العظمى من طلبات الاستعلام (على سبيل المثال، تفاصيل المنتج، والتحقق من المخزون) إلى طلبات الاستعلام عالية الأداءريديسذاكرة التخزين المؤقت. وفي الوقت نفسه، من الممكن إنشاء ذاكرة تخزين مؤقت جديدة باستخداموظيفة السحابة (SCF)تنفيذ التحقق من صحة الأذونات الخفيفة (مثل اختبار CAPTCHA) واعتراض الطلبات الخبيثة.
  3. 3.قص طلب الكتابة وعدم التزامن.لا يقوم طلب السنبلة الأساسية بمعالجة قاعدة البيانات مباشرةً بعد تمرير المجموع الاختباري، ولكنه يكتب مباشرةً إلىقائمة انتظار الرسائل CKafkaفي منتصف قائمة الانتظار، والعودة سريعًا إلى حالة “انتظار” المستخدم. يؤدي هذا إلى تسطيح القمم اللحظية إلى استهلاك متساوٍ، مما يخفف الضغط على النهاية الخلفية بشكل كبير.
  4. 4.معالجة الطلبات واستمرار البيانات.تستهلك خدمة معالجة الطلبات الخلفية رسائل من CKafka بمعدل متساوٍ لإكمال قاعدة البيانات (TencentDB لـ MySQL) خصم مخزون المعاملات وإنشاء الطلبات، وتحديث ذاكرة التخزين المؤقت.
  5. 5.الإخطار بالنتائج.بعد اكتمال المعالجة، يتم إعلام المستخدم بنتيجة الطلب النهائي عبر WebSocket أو الاقتراع الطويل.

القيمة المقترحة للهندسة المعمارية هي.فهو يحقق اختصارًا مطلقًا لحركة المرور من خلال ترتيب الرسائل في طابور (CKafka)، ويتحمل الغالبية العظمى من ضغط القراءة من خلال التخزين المؤقت (Redis)، ويستجيب بمرونة للطلب على الحوسبة من خلال التوسع المرن (AS)، وبالتالي حماية قواعد البيانات العلائقية الهشة وضمان بقاء النظام بأكمله مستقرًا وفعالًا في ظل التزامن العالي.

المنتجات والمكونات الأساسية

اسم المكونتلعب دورًاتوصيات التكوين/الاختيار الرئيسيةلماذا تختارها
قاعدة البيانات السحابية ريديسذاكرة التخزين المؤقت والعدادات الأساسية. القيام بقراءة معلومات المخزون قبل الارتفاع المفاجئ، ووظائف الجرد المسبق للمخزون ووظائف العداد أثناء الارتفاع المفاجئ، مما يقلل بشكل كبير من الضغط على قاعدة البيانات.-اختيار الإصدار.اختر إصدار ذاكرة الوصول العشوائي للحصول على أعلى أداء.
-تخطيط القدرات.احجز 30% أو أكثر من مساحة التخزين المؤقت للطفرات.
-نموذج النشر.استخدم الإصدار الرئيسي-العبد أو الإصدار المجمّع لضمان التوافر العالي.
أداء عالٍ للغاية، يدعم مئات الآلاف من عمليات القراءة والكتابة في الثانية. يوفر عمليات ذرية (على سبيل المثال، DECR) لضمان دقة استقطاعات المخزون وهو الخيار الأول لحل سيناريوهات القراءة والكتابة المتزامنة للغاية.
قوائم انتظار الرسائل CKafkaذروة حركة المرور وفصل حركة المرور الأساسية. يستحوذ على جميع طلبات الكتابة الثانية، ويحول حركة المرور المفاجئة والفورية إلى تدفق رسائل غير متزامن ومتساوي السرعة لحماية نظام معالجة الطلبات النهائية من أن يكون مرهقًا.-تقدير القدرة الاستيعابية.قم بتقدير عدد أقسام الموضوع وسعة القرص بناءً على عدد عناصر السنبلة وذروة QPS.
-استراتيجية الاستبقاء.قم بتعيين وقت معقول للاحتفاظ بالرسائل لتجنب الكتابة على القرص.
إنتاجية عالية، ووقت استجابة منخفض، ومتوافق مع بروتوكول Apache Kafka، ويمكنه بسهولة التعامل مع ملايين من TPS. القدرة على تكديس الرسائل، لضمان عدم فقدان الطلبات التي تزيد عن المتوقع.
مرونة التمدد المرن ASجدولة مرونة الموارد الحاسوبية الأساسية للجدولة الحسابية. زيادة أو تقليل عدد خوادم معالجة الطلبات تلقائيًا استنادًا إلى مقاييس مثل عدد الرسائل المكدسة في CKafka أو حمل وحدة المعالجة المركزية.-استراتيجيات التوسع.إعداد نُهج توسيع نطاق التنبيه استناداً إلى حجم تكديس الرسائل للتوسع السريع في السعة.
-التهدئة.تعيين أوقات تبريد معقولة لتجنب التمدد المتكرر.
تحقيق “الاستخدام عند الطلب” لموارد الحوسبة، وتوسيع السعة تلقائيًا للتعامل مع الذروة في بداية الارتفاع المفاجئ، وتقليص السعة تلقائيًا لتحرير الموارد بعد نهاية الارتفاع المفاجئ، مما يؤدي إلى تحسين التكاليف إلى حد كبير.
الخوادم السحابية CVMالجزء الأساسي لحوسبة منطق الأعمال التجارية. تُستخدم لتشغيل خدمات معالجة الطلبات، وخدمات التحقق من صحة الأعمال، وما إلى ذلك.-إنتاج المرآة.صور معدة مسبقاً تحتوي على كود العمل للنشر السريع من قِبل فريق التوسع.
-نوع المثيل.اختر مثيلات محسّنة حسابيًا لضمان سرعة معالجة الطلبات.
يوفر قوة حوسبة مستقرة وموثوقة ومرنة تتكامل بسلاسة مع AS وCLB وغيرها من المنتجات، وهي الأساس لتشغيل التعليمات البرمجية للأعمال.
موازنة التحميل CLBمركز توزيع حركة المرور الأساسية. توزيع طلبات المستخدمين الضخمة بالتساوي على خوادم أعمال متعددة في النهاية الخلفية لتجنب ارتفاع درجة حرارة نقطة واحدة.-خوارزميات الجدولة.يتم استخدام خوارزميات مثل الاقتراع الموزون (WRR).
-الفحص الصحي.قم بتشغيل التحقق من الصحة للتخلص تلقائيًا من النهايات الخلفية غير الطبيعية.
يعد تحسين توافر الخدمات وقابليتها للتوسع عنصراً أساسياً في تمكين التوسع الأفقي.
وظيفة السحابة SCFالجزء الداخلي للمعالجة المنطقية خفيفة الوزن. يُستخدم لتنفيذ منطق خفيف الوزن مثل تحديد التردد، والتحقق من أهلية المستخدم (على سبيل المثال، ما إذا كان قد شارك بالفعل أم لا)، والتحقق من CAPTCHA.-المهلة.تعيين مهلة معقولة لتنفيذ الدالة.
-تكوين الذاكرة.تكوين الذاكرة المناسبة بناءً على التعقيد المنطقي.
بنية بدون خادم، لا حاجة لإدارة الآلات، يتم احتساب الفواتير وفقًا للعدد الفعلي لعمليات التنفيذ، مثالية للذروات الفورية، وتكلفة منخفضة للغاية.

ملخص فوائد البرنامج

  • ⚡ أداء فائق مع تزامن ملايين من التوافقات.ذاكرة التخزين المؤقت Redis + المعالجة غير المتزامنة لـ CKafka، سهلة لدعم ملايين الطلبات على مستوى QPS للقراءة والكتابة، لضمان سلاسة واستقرار النظام.
  • ? تحسين التكلفة مع التحجيم المرن.استراتيجية التحجيم التلقائي القائمة على حجم تراكم الرسائل لتحقيق التوفير الدقيق لموارد الحوسبة والإفراج التلقائي بعد الذروة، مما يقلل التكلفة بأكثر من 501 تيرابايت 3 تيرابايت.
  • ? ️ البيانات متسقة وتزيل الإفراط في البيع.الاستفادة من عمليات Redis الذرية ومعاملات قاعدة البيانات لضمان الدقة المطلقة لخصم المخزون في سيناريوهات التزامن العالي، مما يحل مشكلة زيادة المخزون تمامًا.
  • ? توافر عالٍ لأعمال خالية من القلق.توفر المكونات الأساسية (Redis، وCKafka، وCLB) جميعها بنية عالية التوافر، وتجاوز الفشل التلقائي، لضمان استمرار العمل دون انقطاع خلال فترة الترقية.
  • ? النشر السريع، والتشغيل والصيانة البسيط.مبنية على منتجات Tencent Cloud الناضجة، لا حاجة لبناء برمجيات وسيطة معقدة، خارج الصندوق، مما يقلل بشكل كبير من تعقيد التطوير والتشغيل والصيانة.

سيناريوهات التطبيق والعملاء القابلين للتطبيق

هذا الحل مثالي لسيناريوهات الأعمال والعملاء التالية:

  • سيناريوهات التطبيق.
    • ثواني التجارة الإلكترونية.على سبيل المثال، العروض الخاصة لفترة محدودة، والسرقات بكميات محدودة، والعروض المنبثقة لأول مرة، إلخ.
    • اللقطات الموقوتة.مثل الحصول على قسائم الشراء، وتذاكر القطارات، وتذاكر الحفلات الموسيقية، وما إلى ذلك.
    • عروض ترويجية واسعة النطاق.أحداث مثل Double 11 و 618 وغيرهما من الأحداث التي تزيد فيها حركة المرور عشرات المرات عن أيام الأسبوع.
  • العملاء المطبق عليهم.
    • جميع منصات التجارة الإلكترونية وأنظمة التداول عبر الإنترنت التي تواجه تحديات تزامن عالية.
    • التجار الذين يخططون لإجراء عروض ترويجية كبيرة ويخشون من عدم قدرة أنظمتهم على التعامل مع حركة المرور الزائدة.
    • فرق التكنولوجيا التي تتطلع إلى الانتقال من البنى المعقدة المبنية ذاتياً إلى الخدمات المستضافة على السحابة لتقليل تكاليف التشغيل والصيانة.

روابط ذات صلة