
FF4j هو تطبيق لنمط Feature Toggle.
Feature Toggle: تمكين وتعطيل الميزات في وقت التشغيل - دون نشر. في الكود الخاص بك، نفّذ مسارات متعددة محمية بمسندات ديناميكية (if/then/else).
التبديل المعتمد على الأدوار: قم بتمكين الميزات ليس فقط بقيم الأعلام ولكن أيضًا من خلال ضبط الوصول باستخدام الأدوار والمجموعات (Canary Release). تُدعم أطر عمل مختلفة بدءًا من Spring Security.
التبديل المعتمد على الاستراتيجيات: نفّذ مسندات مخصصة (Strategy Pattern) لتقييم ما إذا كانت الميزة مفعّلة. بعضها مُقدَّم جاهزًا: قوائم بيضاء/سوداء، قائمة على الوقت، وقائمة على التعبيرات. اربط مصدرًا خارجيًا مثل محرك قواعد Drools.
التبديل المعتمد على AOP: حافظ على نظافة الكود وقابليته للقراءة: تجنّب عبارات if المتداخلة واستخدم التعليقات التوضيحية. بفضل Spring AOP، يتم اختيار التنفيذ المستهدف في وقت التشغيل، وبالتالي يكون مدفوعًا بحالات الميزات.
مراقبة الميزات: لكل تنفيذ للميزات، يقوم ff4j بتقييم المسند، وبالتالي من الممكن جمع وتسجيل الأحداث والمقاييس لحساب لوحات معلومات رائعة أو رسم منحنيات لاستخدام الميزات بمرور الوقت.
سجل التدقيق: يمكن تتبع كل إجراء (إنشاء، تحديث، حذف، تبديل) وحفظه في سجل التدقيق لاستكشاف الأخطاء وإصلاحها. مع إدارة الأذونات (AuthorizationManager) يمكن تحديد المستخدمين.
وحدة التحكم عبر الويب: أدر FF4j (بما في ذلك الميزات والخصائص) باستخدام واجهة الويب. معبأة كـ servlet داخل المكتبة، يمكنك عرضها في تطبيقات الواجهة الخلفية الخاصة بك. تتوفر ما يقارب 10 لغات.
مجموعة واسعة من قواعد البيانات مصدر فخرنا: ندعم أكثر من 20 تقنية لقواعد البيانات لتخزين الميزات والخصائص والأحداث الخاصة بك. نفس نموذج العمل، مع تنفيذات متعددة. بفضل نقاط الامتداد، من السهل بناء قاعدة البيانات الخاصة بك.
Spring Boot Starter استورد تبعية ff4j-spring-boot-starter في خدماتك المصغرة للحصول على وحدة التحكم عبر الويب و REST Api يعملان فورًا. (ليُستخدم لتطبيق الواجهة الخلفية. متوافق الآن مع Spring Boot 2x: 👉 SAMPLES
REST Api شغّل FF4j عبر WEB API. هذه هي الطريقة المثلى لاستخدام ff4j مع لغات أخرى، خاصة الواجهات الأمامية بلغة javascript. (أيضًا: استفد من FeatureStoreHttp لتجنب اتصال الخدمات المصغرة مباشرة بقاعدة البيانات.
الخصائص (CMDB) خزّن ليس فقط حالات الميزات ولكن أيضًا أي قيمة خاصية.. أنشئ خصائص يمكنك تغييرها في وقت التشغيل. متكاملة مع الأطر الأكثر استخدامًا مثل Spring وArchaius وcommons-config أو Consul.
الذاكرة المؤقتة (الموزعة) قد يضع تقييم المسندات ضغطًا على قاعدة البيانات (نسبة إصابة عالية). يوفر ff4j ذاكرات مؤقتة محلية وموزعة للمساعدة. (تعديل الميزة يُخرج أيضًا من الذاكرة المؤقتة). من خلال الاستفادة من JSR-107، فهو يدعم معظم حلول التخزين المؤقت.
يمكن العثور على مزيد من المعلومات في ff4j.org أو الوثائق المرجعية في الويكي.
الصفحة الرئيسية
الميزات
المراقبة
هذا المشروع موجود بفضل جميع الأشخاص الذين يساهمون. [ساهم].
شكرًا لجميع داعمينا! 🙏 [كن داعمًا]
ادعم هذا المشروع بأن تصبح راعيًا. سيظهر شعارك هنا مع رابط إلى موقعك الإلكتروني. [كن راعيًا]
واجهة سطر الأوامر لأتمتة الأمور أو لأن منافذ الويب قد تكون محظورة (أنت تعلم، الإنتاج...) يمكنك العمل عبر SSH باستخدام واجهة سطر الأوامر (cli) الخاصة بنا، أي Shell #devOps الخاصة بنا. ستتفاعل مباشرةً مع أنظمة التخزين.
JMX وMBeans يمكن تنفيذ مجموعة محدودة من العمليات عبر JMX. يعرض ff4j بعض MBeans لقراءة المقاييس أو تبديل الميزات من أدوات خارجية (Nagios...). ليست كل التطبيقات قائمة على الويب.(الدفعات، الصدفات، التطبيقات المستقلة...)