ForHosting KIT · Ferramentas para dev

Calcule uma faixa percentual estável para liberar recursos

Uma liberação percentual só é útil quando a mesma pessoa recebe sempre a mesma decisão.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Esta calculadora transforma um identificador estável de usuário, conta, dispositivo ou tenant em uma de 10,000 faixas determinísticas e compara essa faixa ao percentual informado. Ela retorna o hash sem sinal, a faixa percentual legível e a decisão final de inclusão. Nenhum valor aleatório, relógio, acesso à rede ou atribuição armazenada interfere no resultado; portanto, entradas idênticas sempre geram a mesma saída.

Escolha um identificador que represente o público da liberação

Comece com um identificador estável, único no nível em que o recurso deve ser atribuído e disponível em todos os pontos onde a decisão é tomada. Um ID de usuário é adequado para um experimento de interface individual, enquanto um ID de conta ou tenant costuma ser melhor quando todos os integrantes de uma organização precisam receber o mesmo comportamento. Identificadores de dispositivo podem funcionar em experiências anônimas, mas a limpeza do armazenamento local pode alterar a atribuição. A calculadora considera o identificador como texto exato: maiúsculas, espaços, pontuação e caracteres Unicode participam do hash. Por isso, normalize os identificadores antes de chamar a capacidade se sistemas diferentes puderem representá-los de maneiras distintas. Defina, por exemplo, se identificadores semelhantes a e-mails serão convertidos em minúsculas, se IDs numéricos terão zeros à esquerda e se o valor incluirá um namespace como produção ou homologação. Não use dados mutáveis do perfil, como o nome de exibição. Depois de escolher uma convenção, mantenha-a, pois mudar o identificador também muda a faixa.

Entenda o cálculo determinístico da faixa

A capacidade codifica o identificador em UTF-8 e aplica o algoritmo de hash FNV-1a de 32 bits. O hash sem sinal é reduzido a uma de 10,000 faixas de pontos-base, exibida como um número entre 0 e 99.99. O participante é incluído quando sua faixa é estritamente menor que o percentual solicitado multiplicado por 100. Essa regra de limite garante extremos úteis: zero por cento não inclui ninguém e cem por cento inclui todos. Ela também permite mudanças de 0.01 ponto percentual. Como o processo não usa semente aleatória, horário, armazenamento nem rede, o mesmo identificador e percentual sempre produzem a mesma resposta. Aumentar o percentual preserva todos os participantes já incluídos e acrescenta identificadores das faixas seguintes; reduzi-lo remove participantes do extremo superior. O hash é apropriado para atribuição operacional de liberações, não para segurança criptográfica. Não trate o valor retornado como segredo, não o use para ocultar identificadores e não baseie decisões de autorização nele.

Use o resultado com segurança no processo de lançamento

Use o booleano de inclusão como uma das entradas da entrega do recurso, junto com regras explícitas de elegibilidade, verificações de ambiente e substituições de emergência. Um serviço típico primeiro exclui planos ou regiões incompatíveis e depois calcula a atribuição percentual para o público restante. Armazene a configuração da liberação, e não uma atribuição aleatória separada para cada usuário, pois o cálculo determinístico recria a decisão sempre que necessário. Antes de ampliar a exposição, compare métricas operacionais e comerciais entre as coortes elegíveis e prepare um mecanismo rápido de desativação global. Se vários recursos independentes usarem apenas o mesmo identificador, a ordem de suas faixas ficará correlacionada; acrescente uma chave estável do recurso ao identificador, como nome do recurso, separador e ID do usuário, quando cada liberação precisar de um público independente. Mantenha essa chave durante toda a liberação. O endpoint rejeita percentuais abaixo de zero ou acima de cem, em vez de ajustá-los silenciosamente, tornando visíveis os erros de configuração. Cada chamada custa US$ 0,002; a versão no navegador usa o mesmo cálculo puro.

Fazer um lançamento gradual em produção

Libere um novo recurso para uma fração estável do público elegível e aumente o percentual sem redistribuir quem já estava incluído.

Manter a experiência consistente por tenant

Calcule o hash de uma conta ou tenant para que todos os integrantes da organização recebam a mesma decisão.

Auditar a configuração da liberação

Recalcule a faixa de um usuário informado para explicar se determinado limite percentual deveria incluí-lo.

O mesmo identificador sempre receberá o mesmo resultado?

Sim. Texto do identificador e percentual idênticos produzem a mesma saída, pois o algoritmo não usa aleatoriedade, data, rede nem estado armazenado.

O que acontece em zero e cem por cento?

Zero por cento não inclui nenhum identificador; cem por cento inclui todos os identificadores válidos.

Posso ampliar uma liberação sem redistribuir os usuários atuais?

Sim. Elevar o limite preserva todas as faixas já incluídas e acrescenta as faixas do novo intervalo.

O hash é criptograficamente seguro?

Não. FNV-1a é um hash rápido de distribuição determinística. Ele não deve ser usado para senhas, autorização, sigilo nem anonimização.

Como tornar independentes as liberações de recursos diferentes?

Adicione uma chave estável do recurso e um separador antes ou depois do identificador e mantenha essa convenção.

Quanto custa uma chamada da API?

Cada solicitação custa US$ 0,002. A calculadora do navegador executa localmente o mesmo cálculo determinístico.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/feature-toggle-rollout-percent

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/feature-toggle-rollout-percent \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"identifier":"user_48291","rollout_percentage":25}'
{
  "identifier": "user_48291",
  "rollout_percentage": 25
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.feature_toggle_rollout_percent",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →