기능 플래그
모듈 컨트롤
의 기술은 플래그
기능을 사용하면 소스 코드를 수정하지 않고 시스템에서 모듈을 활성화하거나 비활성화 할 수 있습니다. 이 컨트롤은 데이터베이스, 구성 파일, 환경 변수를 통해 구현할 수 있습니다.
기능 플래그 사용의 이점
- 보안 : 필요한 경우 새로운 기능을 쉽게 비활성화 할 수 있습니다.
- Access Control : 는 사용자 프로파일 또는 기타 규칙에 따라 특정 모듈에 대한 액세스를 제한 할 수 있습니다.
위험 감소 : - 문제가있는 모듈의 영향을 최소화하여 오류가 발생하면 빠르게 비활성화 할 수 있습니다.
기능 플래그 -
- 기능 플래그 구현을 지원하기 위해 사용할 수있는 몇 가지 도구와 라이브러리가 있습니다 :
LaunchDarkly : https://lancharkly.com
무제한 :
https://www.getunleash.io
gofeatureflag :
https://github.com/robfig/go-feature-flag
-
flagsmith : https://www.flagsmith.com
-
feactionHub :
https://featureHub.io -
configcat :
https://configcat.com -
togglz :
https://www.togglz.org -
- 데이터베이스를 통한 구현
데이터베이스를 사용하여 - 기능 플래그 를 구현하려면 아래 단계를 따르십시오 :
모듈과 해당 플래그에 대한 정보를 저장하기위한 테이블을 만듭니다.
미들웨어는 데이터베이스 모듈 플래그를 읽어야합니다.
플래그의 상태에 따라 모듈을 활성화하거나 비활성화합니다.
모듈에 문제가 발생하면 오류 메시지를 기록하고 반환합니다.
필요한 경우 각 모듈에 대한 사용자 액세스 규칙을 구현하십시오.
코드 예제 소스 :
https://github.com/ortizdavid/golang-modular-software -
-
-
-
-
-