قامت Coinbase بتوسيع خدمة المستخدمين لدينا لتحمل أكثر من 1.5 مليون قراءة هوية في الثانية. إليك كيف: - قمنا بتقسيم كائن المستخدم الأحادي إلى مجموعات منطقية مستقلة تسمى "شظايا". - انتقل من عنقود MongoDB واحد إلى نظام اتحادي باستخدام كل من MongoDB وDynamoDB. - بالنسبة للكتابة المتزامنة، طبقنا التحكم المتفائل في التزامن (OCC)، الذي يستخدم حقل إصدار الموارد للمقارنة والتبديل عند الكتابة، مما يتجنب الأقفال العالمية البطيئة. - لضمان القراءة بعد الكتابة القوية على التدفقات الحرجة، نستخدم "رموز الحداثة". يتم تمرير هذه الرموز عبر طلب القراءة لضمان أن البيانات المرتجعة حديثة على الأقل مثل النسخة المرتبطة بالرمز، مع تجاوز الذاكرة المؤقتة إذا لزم الأمر. - قدمنا آلية انقطاع التحميل التي تحول ديناميكيا جزءا من حركة المرور الواردة إلى مجموعة هدف وهمية عندما تكتشف الخدمة التحميل الزائد، مما يمنع حلقة موت MongoDB ويسمح للخدمة بالتدهور بشكل سلخي. تمنحنا هذه البنية القدرة على التوسع للتعامل مع القمم الهائلة وغير المتوقعة في سوق العملات الرقمية، والقدرة على الصمود لتكون خدمة يمكن لكوينبيس البناء عليها بثقة.