أزمة التركيب: إدارة فوضى API
الخدمات الصغيرة رائعة حتى لا تكون كذلك. كيفية استخدام طبقات التنسيق لمنع 20 واجهة برمجة تطبيقات من الانفصال.
“التجارة المركبة” كانت الكلمة الطنانة لعام 2024. كسر كل شيء! استخدم Contentful للمحتوى، Shopify للخروج، Algolia للبحث، Klaviyo للبريد الإلكتروني. فجأة، أصبح لديك 15 واجهة برمجة تطبيقات لإدارتها. إذا تعطلت شركة Algolia، فسيكون موقعك فارغًا. إذا قام Contentful بتغيير بنية البيانات الخاصة به، فستتعطل الواجهة الأمامية.
طبقة التنظيم
لقد قمنا بحل هذه المشكلة باستخدام BFF (الواجهة الخلفية للواجهة الأمامية) أو “البرامج الوسيطة”. بدلاً من أن تتحدث الواجهة الأمامية مع 15 خدمة مباشرةً، فإنها تتحدث إلى واجهة برمجة التطبيقات الخاصة بنا. تقوم واجهة برمجة التطبيقات الخاصة بنا بتجميع البيانات وتطبيعها وتخزينها مؤقتًا وإرسال حمولة JSON نظيفة واحدة إلى الواجهة الأمامية.
الفوائد
- المرونة: إذا كان نظام إدارة المحتوى (CMS) معطلاً، فإن واجهة برمجة التطبيقات لدينا تقدم بيانات مخزنة مؤقتًا قديمة. الموقع يبقى قائما.
- الأداء: يقدم المتصفح طلبًا واحدًا بدلاً من 15 طلبًا. ويتم التجميع من جانب الخادم، حيث يكون عرض النطاق الترددي رخيصًا.
- التطهير: نقوم بإزالة الحقول الخاصة قبل أن تصل إلى العميل.
##الاتحاد نحن نستخدم GraphQL Union لربط هذه المخططات معًا. بالنسبة لمطور الواجهة الأمامية، تبدو وكأنها قاعدة بيانات عملاقة. بالنسبة لمهندس الواجهة الخلفية، فهي سيمفونية من الخدمات المستقلة. تنظيم الفوضى.