Sto sviluppando un proxy scalabile (Linux / C / C ++, moduli Nginx o server HTTP personalizzato) che gestisce le richieste HTTP in arrivo e li reindirizzamento ad altre posizioni in base ai parametri inclusi nella richiesta in ingresso (IP, tempo per esempio) o fattori esterni (da qui l'uso di un modulo Nginx in grado di recuperare i fattori esterni).
Tuttavia, la parte delicata riguarda le quote. Ad esempio, vorrei poter bloccare le richieste di inoltro proxy provenienti da un IP quando la sua quota giornaliera di indennità è terminata.
L'implementazione delle quote non è difficile. Tuttavia, il fatto che le quote funzionano in un ambiente distribuito (dove idealmente tutto è condiviso, niente) è tutt'altro che banale. In effetti, lo stato della quota deve essere condiviso con tutti i processi distribuiti in modo che possano sapere se devono procedere o meno. Avere un gestore di quote centrale significa usare le serrature. Questo mi fa pensare che le prestazioni scenderanno molto velocemente. Il blocco dello stato delle quote ogni volta che viene gestita una richiesta di trasferimento proxy non sembra la soluzione per me.
Qualche suggerimento?