يشير التخزين المؤقت للخدمات الصغيرة، في سياق بنية الخدمات الصغيرة، إلى عملية تخزين البيانات واسترجاعها من نظام تخزين عالي الأداء في الذاكرة، بدلاً من الوصول المباشر إلى البيانات من قاعدة بيانات أو واجهة برمجة تطبيقات بعيدة. إنه يلعب دورًا حاسمًا في تحسين الأداء وقابلية التوسع وتوافر التطبيقات الموجهة للخدمات الصغيرة عن طريق تقليل زمن الوصول وتقليل الحمل على قواعد البيانات وخفض المكالمات الباهظة الثمن بين الخدمات.
هندسة الخدمات الصغيرة هي طريقة تصميم برمجية تقوم بتحليل التطبيق إلى خدمات متعددة ومستقلة ومترابطة بشكل غير محكم، كل منها مسؤول عن وظيفة واحدة، مما يسمح بالتطوير الأسرع والصيانة الأسهل وقابلية التوسع بشكل أفضل. مع تزايد شعبية الخدمات الصغيرة، أصبح التخزين المؤقت عنصرًا أساسيًا في هذا النمط المعماري. وفقًا لاستطلاع O'Reilly Software Architecture لعام 2020، فإن حوالي 61% من الشركات تستخدم أو تخطط لاستخدام الخدمات الصغيرة في عمليات تطوير البرامج الخاصة بها.
يمكن تصنيف التخزين المؤقت للخدمات الصغيرة إلى نوعين رئيسيين: التخزين المؤقت المحلي والتخزين المؤقت الموزع. يتم التخزين المؤقت المحلي عندما يحتفظ كل مثيل خدمة صغيرة بذاكرة التخزين المؤقت الخاصة به في مساحة الذاكرة الخاصة به. يعد هذا النوع من التخزين المؤقت مناسبًا للخدمات الصغيرة ذات الاستهلاك المنخفض للذاكرة والحد الأدنى من تكرار تحديث ذاكرة التخزين المؤقت. ومع ذلك، يمكن أن يؤدي ذلك إلى عدم تناسق ذاكرة التخزين المؤقت وعدم كفاءتها عندما تحتاج مثيلات متعددة من الخدمة الصغيرة إلى المزامنة مع بعضها البعض أو عندما تتوسع الخدمة الصغيرة أفقيًا لاستيعاب المزيد من طلبات المستخدمين.
يحدث التخزين المؤقت الموزع عندما تتشارك جميع مثيلات الخدمة الصغيرة في ذاكرة تخزين مؤقت مشتركة، ويتم تنفيذها عادةً باستخدام مخزن بيانات خارجي وسريع وقابل للتطوير بدرجة كبيرة في الذاكرة مثل Redis أو Apache Ignite. يُفضل هذا النوع من التخزين المؤقت عند تخزين مجموعات كبيرة من البيانات مؤقتًا، أو التعامل مع البيانات المتغيرة بشكل متكرر، أو طلب اتساق ذاكرة التخزين المؤقت عبر مثيلات الخدمات الصغيرة المتعددة. كما أنه يوفر مرونة أفضل ضد الخدمات الصغيرة أو فشل عقدة التخزين المؤقت عن طريق نسخ بيانات ذاكرة التخزين المؤقت عبر عقد متعددة.
يتضمن تنفيذ التخزين المؤقت للخدمات الصغيرة العديد من أفضل الممارسات والأنماط، بعضها:
- نمط ذاكرة التخزين المؤقت جانبًا: في هذا النمط، تبحث الخدمة الصغيرة أولاً عن البيانات المطلوبة في ذاكرة التخزين المؤقت. إذا كانت البيانات متاحة، فإنها تجلب البيانات من ذاكرة التخزين المؤقت (ضربة ذاكرة التخزين المؤقت)؛ وإلا فإنه يسترد البيانات من مصدر البيانات الأساسي ويخزنها في ذاكرة التخزين المؤقت للطلبات المستقبلية (ذاكرة التخزين المؤقت المفقودة).
- نمط القراءة: في هذا النمط، تتحقق ذاكرة التخزين المؤقت نفسها من وجود البيانات المطلوبة، وإذا لم تكن متوفرة، فإنها تتفاعل مع مصدر البيانات الأساسي لجلب البيانات وتخزينها قبل إعادتها إلى الخدمة الصغيرة.
- أنماط الكتابة والكتابة الخلفية: تحدد هذه الأنماط كيفية تحديث ذاكرة التخزين المؤقت لبياناتها عندما تقوم إحدى الخدمات الصغيرة بتعديلها. تضمن الكتابة أن يتم تحديث ذاكرة التخزين المؤقت على الفور بعد أي تعديل للبيانات، بينما تؤدي الكتابة الخلفية إلى تأخير تحديثات ذاكرة التخزين المؤقت حتى يتم استيفاء شرط معين، مثل الوصول إلى حد تحديث محدد أو فاصل زمني محدد.
- استراتيجيات إخلاء ذاكرة التخزين المؤقت: تحدد هذه الاستراتيجيات متى وكيف يتم إزالة البيانات من ذاكرة التخزين المؤقت لاستيعاب البيانات الجديدة. تشمل الاستراتيجيات الشائعة الإخلاء الأقل استخدامًا (LRU) والإخلاء أولاً (FIFO) والإخلاء القائم على وقت البقاء (TTL).
AppMaster ، وهي منصة رائدة no-code لبناء تطبيقات الواجهة الخلفية والويب وتطبيقات الهاتف المحمول، تستخدم التخزين المؤقت للخدمات الصغيرة لتقديم حلول عالية الأداء وقابلة للتطوير. تتعامل تطبيقات AppMaster التي تم إنشاؤها باستخدام Go for backend وVue3 للويب وKotlin و Jetpack Compose لنظام Android و SwiftUI لنظام التشغيل iOS بكفاءة مع آليات التخزين المؤقت المتطورة، مما يضمن تجربة مستخدم سلسة عبر منصات مختلفة.
علاوة على ذلك، فإن النهج الذي يعتمد على الخادم لتطبيقات الهاتف المحمول لمنصة AppMaster يمكّن العملاء من تحديث واجهة المستخدم لتطبيقاتهم ومنطق الأعمال دون إعادة تقديم إصدارات جديدة إلى App Store وPlay Market، مما يزيد من عرض أهمية التخزين المؤقت في تطوير التطبيقات الحديثة الموجهة نحو الخدمات الصغيرة. .
في الختام، يعد التخزين المؤقت للخدمات الصغيرة تقنية حيوية لتحسين أداء التطبيق وقابلية التوسع والمرونة عند التعامل مع بنية الخدمات الصغيرة. من خلال فهم أفضل الممارسات والأنماط المرتبطة بالتخزين المؤقت للخدمات الصغيرة، يمكن للمطورين تسخير إمكاناتها لإنشاء تطبيقات سريعة وفعالة وموثوقة بشكل استثنائي. توفر الأنظمة الأساسية مثل AppMaster دعمًا خارج الصندوق لمنهجيات التخزين المؤقت هذه، مما يمكّن العملاء من الاستفادة من الإمكانات الكاملة لحلول البرامج الخاصة بهم دون أي تكاليف إضافية.