
जावा के लिए फीचर टॉगल फ्रेमवर्क जो रनटाइम फीचर सक्रियण, भूमिका-आधारित पहुंच, AOP-संचालित टॉगलिंग, निगरानी, ऑडिट ट्रेल, और REST API और CLI के साथ एक वेब कंसोल को सक्षम बनाता है।
FF4j, Feature Toggle पैटर्न का एक कार्यान्वयन है।
फीचर टॉगल: रनटाइम पर सुविधाओं को सक्षम और अक्षम करें - कोई डिप्लॉयमेंट नहीं। अपने कोड में डायनामिक प्रेडिकेट्स (if/then/else) द्वारा संरक्षित कई पथों को लागू करें।
रोल-आधारित टॉगलिंग: केवल फ्लैग मानों से ही नहीं बल्कि भूमिकाओं और समूहों के साथ पहुँच को चलाकर सुविधाओं को सक्षम करें (कैनरी रिलीज़)। Spring Security से शुरू करके विभिन्न फ्रेमवर्क समर्थित हैं।
रणनीति-आधारित टॉगलिंग: यह मूल्यांकन करने के लिए कि कोई सुविधा सक्षम है या नहीं, कस्टम प्रेडिकेट्स (स्ट्रेटेजी पैटर्न) लागू करें। कुछ बॉक्स से बाहर प्रदान किए गए हैं: व्हाइट/ब्लैक लिस्ट, समय-आधारित, अभिव्यक्ति-आधारित। Drools रूल इंजन जैसे बाहरी स्रोत से कनेक्ट करें।
AOP-संचालित टॉगलिंग: अपने कोड को साफ और पढ़ने योग्य रखें: नेस्टेड if स्टेटमेंट से बचें लेकिन एनोटेशन का उपयोग करें। Spring AOP के कारण लक्ष्य कार्यान्वयन रनटाइम पर चुना जाता है, और इस प्रकार सुविधा स्थितियों द्वारा संचालित होता है।
सुविधाओं की निगरानी: प्रत्येक सुविधा निष्पादन के लिए, ff4j प्रेडिकेट का मूल्यांकन करता है इसलिए घटनाओं, मीट्रिक्स को एकत्र और रिकॉर्ड करना संभव है ताकि अच्छे डैशबोर्ड की गणना कर सकें या समय के साथ सुविधाओं के उपयोग के लिए वक्र बना सकें।
ऑडिट ट्रेल: प्रत्येक क्रिया (बनाना, अपडेट करना, हटाना, टॉगल) को ट्रेस किया जा सकता है और समस्या निवारण के लिए ऑडिट ट्रेल में सहेजा जा सकता है। अनुमति प्रबंधन (AuthorizationManager) के साथ उपयोगकर्ताओं की पहचान करना संभव है।
वेब कंसोल: वेब UI के साथ FF4j (सुविधाओं और गुणों सहित) का प्रशासन करें। लाइब्रेरी में एक सर्वलेट के रूप में पैकेज किया गया है, आप इसे अपने बैकएंड एप्लिकेशन में एक्सपोज़ करेंगे। लगभग 10 भाषाएँ उपलब्ध हैं।
डेटाबेस का विस्तृत विकल्प हमें गर्व है: हम आपकी सुविधाओं, गुणों और घटनाओं को संग्रहीत करने के लिए 20+ डेटाबेस तकनीकों का समर्थन करते हैं। समान व्यवसाय मॉडल, कई कार्यान्वयन। एक्सटेंशन पॉइंट्स के कारण अपना खुद का बनाना आसान है।
Spring Boot Starter अपने माइक्रोसर्विसेज में ff4j-spring-boot-starter डिपेंडेंसी आयात करें ताकि वेब कंसोल और REST API तुरंत काम करें। (बैकएंड ऐप के लिए उपयोग किया जाना है। अब Spring Boot 2x के अनुरूप: 👉 SAMPLES
REST API एक WEB API के माध्यम से FF4j का संचालन करें। यह अन्य भाषाओं, विशेष रूप से जावास्क्रिप्ट फ्रंटएंड के साथ ff4j का उपयोग करने का तरीका है। (यह भी: माइक्रोसर्विसेज को सीधे DB से कनेक्ट होने से बचने के लिए FeatureStoreHttp का लाभ उठाएं।
गुण (CMDB) केवल सुविधा स्थितियाँ ही नहीं बल्कि कोई भी गुण मान संग्रहीत करें। ऐसे गुण बनाएं जिन्हें आप रनटाइम पर बदल सकते हैं। यह सबसे अधिक उपयोग किए जाने वाले फ्रेमवर्क जैसे Spring, Archaius, commons-config या Consul के साथ एकीकृत है।
अधिक जानकारी ff4j.org या विकी में Reference Documentation पर पाई जा सकती है।
होम पेज
सुविधाएँ
निगरानी
यह परियोजना उन सभी लोगों के कारण मौजूद है जो योगदान देते हैं। [योगदान करें]।
हमारे सभी समर्थकों को धन्यवाद! 🙏 [समर्थक बनें]
प्रायोजक बनकर इस परियोजना का समर्थन करें। आपका लोगो आपकी वेबसाइट के लिंक के साथ यहाँ दिखाई देगा। [प्रायोजक बनें]
(वितरित) कैश प्रेडिकेट्स का मूल्यांकन DB पर दबाव डाल सकता है (उच्च हिट अनुपात)। ff4j सहायता के लिए स्थानीय और वितरित कैश प्रदान करता है। (सुविधा संपादित करने से कैश भी हट जाता है)। JSR-107 का लाभ उठाकर यह अधिकांश कैश समाधानों का समर्थन करता है।
कमांड लाइन इंटरफ़ेस चीजों को स्वचालित करने के लिए या क्योंकि वेब पोर्ट अवरुद्ध हो सकते हैं (आप जानते हैं, प्रोडक्शन...) आप हमारे कमांड लाइन इंटरफ़ेस (cli), हमारे शेल #devOps का उपयोग करके SSH के माध्यम से काम कर सकते हैं। यह सीधे स्टोरेज के साथ इंटरैक्ट करेगा।
JMX और MBeans JMX के माध्यम से संचालन का सीमित सेट किया जा सकता है। ff4j बाहरी उपकरणों (Nagios...) से मीट्रिक्स पढ़ने या सुविधाओं को टॉगल करने के लिए कुछ Mbeans का खुलासा करता है। सभी एप्लिकेशन वेब-आधारित नहीं हैं (बैच, शेल, स्टैंडअलोन...)