Modo scalabile e performante per organizzare l'accesso a una risorsa condivisa?

0

Ecco la cosa:

Immagina che ci sia un database contenente solo id da 1 a 1000 e un flag is_used per ognuno di questi. C'è un servizio che ha solo due metodi:

  1. getId () che trova l'ID disponibile nel DB e lo restituisce dopo l'impostazione è_utilizzata su true
  2. versione (int id) per l'impostazione da is_used a false su id passato

Come suggeriresti di organizzare tutto per essere scalabile e performante se ci sono due regole:

  1. Ogni id deve essere utilizzato da un solo cliente a un certo punto nel tempo
  2. Se vengono utilizzati tutti gli ID, i client richiesti per getId devono essere accodati e forniti di id non appena diventano disponibili.
posta Alexander Efimov 21.06.2017 - 20:30
fonte

0 risposte

Leggi altre domande sui tag