control del módulo con características flags
La técnica de características de los flags le permite activar o deshabilitar los módulos desde un sistema sin modificar el código fuente. Este control se puede implementar a través de la base de datos, archivos de configuración, variables ambientales, entre otros métodos.
Beneficios del uso de
de funciones Flags
Security: - le permite iniciar nuevas funciones con un riesgo más bajo, deshabilitarlas fácilmente si es necesario.
Lanzamiento gradual:
facilita el lanzamiento en pasos, lo que le permite probar nuevas funciones con un grupo de usuarios seleccionado antes de ponerlas a disposición de todos.
- Control de acceso: hace posible restringir el acceso a ciertos módulos basados en perfiles de usuario u otras reglas.
- Flexibilidad en mantenimiento: simplifica el proceso de mantenimiento y actualización de módulos, lo que les permite deshabilitarlos temporalmente durante el mantenimiento sin afectar la operación del sistema.
Reducción de riesgos: - minimiza los impactos de los módulos con problemas, lo que les permite deshabilitarlos rápidamente si ocurren errores.
Herramientas y bibliotecas para implementar - Funcionar Flags
Hay varias herramientas y bibliotecas disponibles para ayudar en la implementación de
Funcionar Flags :
unchDarkly:
https://lancharkly.com
desatar:
https://www.getunleash.io
-
gofatureFlag: https://github.com/robfig/go-fature-flag
-
flagmith: https://www.flagsmith.com
-
storeHub: https://featurehub.io
-
config: https://configcat.com
-
togglz: https://www.togglz.org
-
Implementación a través de la base de datos -
para implementar
flags
usando una base de datos, siga los pasos a continuación:
Crear tablas para almacenar información sobre los módulos y sus respectivos indicadores.
Implementar un middleware para interceptar las solicitudes a los módulos.
El middleware debe leer los indicadores de los módulos de la base de datos.
activa o deshabilita los módulos de acuerdo con el estado de las banderas.
Registre y devuelva mensajes de error si se producen problemas con los módulos.
si es necesario, implementa reglas de acceso de usuario para cada módulo.
-
Ejemplo de código Fuente: -
https://github.com/ortizdavid/golang-modular-software -
-
-
-