Este repositório contém uma implementação de funil de rollout progressivo utilizando a biblioteca GitHub.Scientist para comparação de implementações antigas e novas em aplicações .NET.
- Implementação de funil de rollout progressivo (1%, 2%, 5%, 10%, etc.)
- Integração com Redis para configuração dinâmica
- API para configuração e monitoramento do rollout
- Exemplos de uso com requisições síncronas e assíncronas
- Publishers personalizáveis para análise de resultados
O sistema permite uma migração segura e gradual de implementações antigas para novas, permitindo:
- Configurar a porcentagem de tráfego que será roteado para a nova implementação
- Comparar resultados entre implementações antigas e novas
- Monitorar diferenças e desempenho
- Configurar parâmetros via Redis para ajustes em tempo real
- /FunilRollout: Aplicação ASP.NET Core que implementa o funil de rollout
- /Services: Classes principais para implementação do funil
- /Controllers: API para configuração e demonstração
# Clone o repositório
git clone https://github.com/seu-usuario/funil-rollout.git
# Entre no diretório do projeto
cd FunilRollout
# Execute o projeto
dotnet runConsulte o README dentro do diretório /FunilRollout para instruções detalhadas sobre como usar a implementação.
- .NET 8
- Instância Redis (local ou remota)
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.
Este projeto está licenciado sob a licença MIT.