MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Transazioni MongoDB che coprono più richieste web

La soluzione più semplice è archiviare (buffer) le operazioni nell'applicazione e inviarle tutte insieme a MongoDB quando viene eseguito l'endpoint di commit.

Tecnicamente puoi gestire manualmente il ciclo di vita delle transazioni nella tua applicazione e implementare transazioni che abbracciano le richieste web, ma questo è 1) sarà piuttosto imbarazzante e 2) perderai la gestione degli errori transitori che il driver fa per te nell'API withTransaction.

Per fare questo:

  • Familiarizzare con le specifiche delle sessioni
  • Familiarizzare con le specifiche delle transazioni
  • Leggi il specifiche api tx convenienti in modo da sapere cosa non farai ottenere gratuitamente, se il tuo cliente chiede perché stai esponendo errori che i conducenti non lo fanno
  • Rivedi il codice nel tuo driver che implementa queste specifiche
  • Implementa un numero sufficiente di sessioni e gestione delle transazioni per i tuoi requisiti nella tua applicazione

Potrebbe essere più semplice eseguire il fork e la patch del driver, ma questo ovviamente ha altri problemi derivanti dalla divergenza della base di codice dalla base di codice del driver ufficiale.