Contrôle du module avec Fonctionne Flags
La technique de présente des drapeaux vous permet d'activer ou de désactiver les modules d'un système sans modifier le code source. Ce contrôle peut être implémenté via une base de données, des fichiers de configuration, des variables environnementales, entre autres méthodes.
Avantages de l'utilisation des drapeaux de fonctionnalité
Security: - vous permet de lancer de nouvelles fonctionnalités à un risque inférieur, les désactivant facilement si nécessaire.
Lancement progressif:
Facilite le lancement en étapes, vous permettant de tester de nouvelles fonctionnalités avec un groupe d'utilisateurs sélectionnés avant de les mettre à la disposition de tous.
- Contrôle d'accès: permet de restreindre l'accès à certains modules en fonction des profils utilisateur ou d'autres règles.
- Flexibilité dans la maintenance: simplifie le processus de maintenance et de mise à jour des modules, leur permettant de les désactiver temporairement pendant la maintenance sans affecter le fonctionnement du système.
Réduction du risque: - minimise les impacts des modules avec des problèmes, leur permettant de les désactiver rapidement si des erreurs se produisent.
outils et bibliothèques pour implémenter - Fonctionne les drapeaux
Il existe plusieurs outils et bibliothèques disponibles pour aider à l'implémentation de
Fonctionnelles Flags :
LaunchDarkly:
https://lancharkly.com
Unleash:
https://www.getunleash.io
-
gofeaturesflag: https://github.com/robfig/go-geture-flag
-
Flagsmith: https://www.flagsmith.com
-
Featurehub: https://feturehub.io
-
configcat: https://configcat.com
-
togglz: https://www.togglz.org
-
implémentation via la base de données -
pour implémenter
Fonctionnelles Flags
à l'aide d'une base de données, suivez les étapes ci-dessous:
Créer des tables pour stocker des informations sur les modules et leurs drapeaux respectifs.
Implémentez un middleware pour intercepter les réquisitions aux modules.
Middleware doit lire les indicateurs de modules de base de données.
active ou désactiver les modules en fonction de l'état des drapeaux.
Enregistrer et renvoyer des messages d'erreur si des problèmes se produisent avec les modules.
Si nécessaire, implémentez les règles d'accès utilisateur pour chaque module.
-
Exemple de code Source: -
https://github.com/ortizdavid/golang-modular-software -
-
-
-