ForHosting KIT · Strumenti per sviluppatori

Calcoli una fascia stabile per il rilascio percentuale

Un rilascio percentuale è utile soltanto se la stessa persona riceve sempre la medesima decisione.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Questo calcolatore trasforma un identificativo stabile di utente, account, dispositivo o tenant in una delle 10,000 fasce deterministiche, quindi la confronta con la percentuale indicata. Restituisce l’hash senza segno, la fascia percentuale leggibile e la decisione finale di inclusione. Nessun valore casuale, orologio, accesso alla rete o assegnazione memorizzata influenza il risultato; pertanto, input identici producono sempre lo stesso output.

Scelga un identificativo che rappresenti il soggetto del rilascio

Parta da un identificativo stabile, univoco al livello a cui deve essere assegnata la funzionalità e disponibile ovunque venga presa la decisione. Un ID utente è adatto a un esperimento sull’interfaccia personale, mentre un ID di account o tenant è generalmente preferibile quando tutti i membri di un’organizzazione devono osservare lo stesso comportamento. Gli identificativi del dispositivo possono funzionare per esperienze anonime, ma la cancellazione della memoria locale potrebbe modificare l’assegnazione. Il calcolatore considera l’identificativo come testo esatto: maiuscole e minuscole, spazi, punteggiatura e caratteri Unicode contribuiscono tutti all’hash. Normalizzi quindi gli identificativi prima di richiamare la capacità se sistemi diversi potrebbero rappresentarli in modo differente. Decida, per esempio, se convertire in minuscolo gli identificativi simili a indirizzi e-mail, se aggiungere zeri iniziali agli ID numerici e se includere nel valore uno spazio dei nomi come produzione o collaudo. Non usi dati di profilo modificabili, come il nome visualizzato. Una volta scelta una convenzione, la mantenga, perché modificare l’identificativo cambia anche la fascia.

Comprenda il calcolo deterministico della fascia

La capacità codifica l’identificativo in UTF-8 e applica l’algoritmo hash FNV-1a a 32 bit. L’hash senza segno viene ridotto a una delle 10,000 fasce in punti base, visualizzata come numero compreso tra 0 e 99.99. Un soggetto è incluso quando la sua fascia è strettamente inferiore alla percentuale richiesta moltiplicata per 100. Questa regola sul limite garantisce estremi utili: zero per cento non include nessuno e cento per cento include tutti. Consente inoltre variazioni di 0.01 punti percentuali. Poiché il processo non usa seed casuali, tempo, archiviazione o rete, lo stesso identificativo e la stessa percentuale restituiscono sempre la medesima risposta. Aumentando la percentuale si conservano tutti i soggetti già inclusi e si aggiungono identificativi dalle fasce successive; riducendola si rimuovono i soggetti dalla parte superiore. L’hash è idoneo all’assegnazione operativa di un rilascio, non alla sicurezza crittografica. Non consideri segreto il valore restituito, non lo usi per nascondere identificativi e non basi su di esso decisioni di autorizzazione.

Usi il risultato in sicurezza nel processo di rilascio

Usi il valore booleano di inclusione come uno degli input per la distribuzione della funzionalità, insieme a regole esplicite di idoneità, controlli dell’ambiente ed esclusioni di emergenza. Un servizio tipico esclude dapprima piani o aree geografiche non supportati, quindi calcola l’assegnazione percentuale per il pubblico rimanente. Memorizzi la configurazione del rilascio, non un’assegnazione casuale distinta per ogni utente, poiché il calcolo deterministico ricrea la decisione quando occorre. Prima di ampliare l’esposizione, confronti le metriche operative e commerciali delle coorti idonee e prepari una disattivazione globale rapida. Se più funzionalità indipendenti usano soltanto lo stesso identificativo, l’ordine delle fasce sarà correlato; aggiunga una chiave stabile della funzionalità, per esempio nome, separatore e ID utente, quando ogni rilascio richiede un pubblico indipendente. Mantenga invariata tale chiave per tutta la durata del rilascio. L’endpoint rifiuta percentuali inferiori a zero o superiori a cento anziché limitarle silenziosamente, rendendo visibili gli errori di configurazione. Ogni chiamata costa $0.002; la versione nel browser esegue lo stesso calcolo puro.

Scaglionare un rilascio in produzione

Esponga una nuova funzionalità a una quota stabile del pubblico idoneo, quindi aumenti la percentuale senza riassegnare chi è già incluso.

Mantenere coerenti le esperienze dei tenant

Calcoli l’hash di un account o tenant affinché tutti i membri della stessa organizzazione ricevano la medesima decisione.

Verificare la configurazione del rilascio

Ricalcoli la fascia di un utente segnalato per spiegare se una determinata soglia avrebbe dovuto includerlo.

Lo stesso identificativo riceverà sempre lo stesso risultato?

Sì. Testo dell’identificativo e percentuale identici producono lo stesso output perché l’algoritmo non usa casualità, data, rete o stato memorizzato.

Che cosa accade a zero e cento per cento?

Zero per cento non include alcun identificativo, mentre cento per cento include tutti gli identificativi validi.

Posso ampliare un rilascio senza riassegnare gli utenti attuali?

Sì. Aumentare la soglia conserva tutte le fasce già incluse e aggiunge quelle del nuovo intervallo.

L’hash è crittograficamente sicuro?

No. FNV-1a è un hash rapido per la distribuzione deterministica. Non deve essere usato per password, autorizzazioni, segretezza o anonimizzazione.

Come rendo indipendenti i rilasci di funzionalità diverse?

Aggiunga una chiave stabile della funzionalità e un separatore prima o dopo l’identificativo, quindi mantenga tale convenzione.

Quanto costa una chiamata API?

Ogni richiesta costa $0.002. Il calcolatore nel browser esegue localmente lo stesso calcolo deterministico.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

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

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →