Simples feature flag / feature toggle
Este projeto oferece dois serviços principais com diferentes garantias do teorema CAP:
| Serviço | Modelo CAP | Descrição |
|---|---|---|
| Feature Flag | AP (Availability + Partition Tolerance) | Prioriza disponibilidade e tolerância a partições. O SDK mantém cache local, garantindo que a aplicação sempre tenha uma resposta, mesmo em caso de falha de rede. Eventual consistency via SSE. |
| Content Hub | CP (Consistency + Partition Tolerance) | Prioriza consistência e tolerância a partições. Garante que o conteúdo retornado seja sempre o mais atualizado, mesmo que isso signifique maior latência em casos de partição. |
📐 Arquitetura: Para detalhes sobre a infraestrutura e fluxo de dados, consulte docs/ARCH.md
Copie o arquivo de exemplo .env_example para .env:
cp .env_example .envO arquivo .env contém as seguintes configurações:
export SDK_CLIENT_AT="secret"
export MONGODB_URI="mongodb://admin:password@localhost:27017"
export MONGODB_NAME="featureflag"
export MONGODB_IDX_TIMEOUT="1s"
export REPOSITORY_TYPE="mongodb"💡 Dica: Se você utiliza direnv, basta copiar o conteúdo para o arquivo
.envrce executardirenv allow.
docker-compose up -dO serviço estará disponível em http://localhost:3000.
go get -u github.com/IsaacDSC/featureflagDocumentação completa sobre como criar e utilizar Feature Flags:
- Feature Flag tipo disjuntor (on/off simples)
- Feature Flag com porcentagem (A/B testing)
- Feature Flag com session_id (rollout controlado)
- Exemplos de uso com o SDK Go
Documentação completa sobre como criar e utilizar o Content Hub:
- Criação de conteúdo dinâmico
- Estratégias de sessão (personalização por usuário)
- Estratégias de balanceamento (distribuição ponderada)
- Exemplos de uso com o SDK Go
POST http://localhost:3000/auth
Authorization: <token>POST http://localhost:3000/auth
Authorization: <token>