Desidero utilizzare OrientJS con Express.js. Come configurare un pool di connessioni prima che venga effettuata una richiesta http, acquisire e rilasciare una connessione dal pool durante il ciclo di richiesta/risposta e terminare il pool quando chiudo l'app?Pool di connessioni in OrientJS
risposta
Ho guardato un po 'la sorgente di OrientJS e ho trovato un modo per utilizzare lo built-in ConnectionPool.
Non è necessario alcun modulo di pool di risorse generiche (come ho detto nel mio commento sopra). Fondamentalmente, è molto semplice. Tutto quello che dovete fare è:
var OrientDB = require('orientjs');
var server = OrientDB({
host: 'localhost',
port: 2424,
username: 'root',
password: 'yourpassword',
pool: {
max: 10
}
});
Ora il vostro oggetto server
sta usando il costruito nel ConnectionPool, e max consentito connessioni sono .
Se si seleziona server.transport.pool
, verrà visualizzato l'oggetto del pool interno.
Per verificare effettivamente quante connessioni sono state create (o in uso), è possibile controllare la lunghezza di server.transport.pool.connections
(che è una matrice).
Un altro modo di guardare l'uso collegamenti è un semplice comando bash:
$ watch -n 0.1 'netstat -p tcp -an | grep 2424'
e vedrete i collegamenti.
Da questo punto, è possibile iniziare a eseguire query immediatamente e il pool di connessioni verrà utilizzato automaticamente.
Questo è bello. Ma ora dobbiamo capire come gestire le connessioni all'interno del ciclo di vita http. Penso che il tuo frammento debba essere usato quando eseguo il bootstrap express js, giusto? Sai come rilasciare la connessione dopo aver compilato la risposta e come spegnere il pool quando il mio server è finito? –
Ho tutto questo perché voglio chiudere con garbo tutto e finire il pool correttamente, spegnere shut db server quando necessario, gestendo qualsiasi errore che possa verificarsi. Sembra che orientdb a volte corrompa i file quando non si chiudono le cose di conseguenza ... –
IMHO devi creare un modulo che esporti la variabile 'server', quindi richiederlo ogni volta che ne hai bisogno nella tua applicazione. Il processo di acquisizione/rilascio della connessione viene gestito automaticamente da OrientJS, quindi non è necessario fare nulla, basta usare l'oggetto server per interrogare i propri db (s). Per chiudere tutte le connessioni con garbo, basta chiamare 'server.close()'. Ricorda che se vuoi interrogare il db dopo, devi fare di nuovo 'var server = OrientDB (...)'. – xmikex83
- 1. phpcassa pool di connessioni
- 2. hibernate pool di connessioni
- 3. YeSQL con pool di connessioni?
- 4. Parametri pool di connessioni ODP.NET
- 5. Utilizzo del pool di connessioni in JPA
- 6. Pool di connessioni tramite Jetty, in Oracle
- 7. Pool di connessioni DB simultanee in Haskell
- 8. Pool di connessioni JMS o pool di sessioni
- 9. Apache HttpClient loadbalancing connessioni pool
- 10. Controllo connessioni nel pool c3p0
- 11. Quante connessioni sono disponibili nel pool di connessioni ADO.NET
- 12. pool di connessioni predefinite di ibernazione
- 13. Hibernate c3p0 pool di connessioni non ha temporizzato connessioni inattive
- 14. Pool di connessioni per connessioni dinamiche al database
- 15. Il pool di connessioni SQL Server non rileva connessioni chiuse?
- 16. Pool di connessioni con database di Access
- 17. È possibile il pool di connessioni HTTP?
- 18. Pool di connessioni HTTP utilizzando HttpClient
- 19. Pool di connessioni con PostgreSQL JDBC
- 20. Pool di connessioni Tomcat e JDBC
- 21. Sto utilizzando il pool di connessioni JDBC?
- 22. Nessun pool di connessioni per ActiveRecord :: Base
- 23. Configurare il pool di connessioni Hibernate C3P0
- 24. Che cos'è realmente il pool di connessioni?
- 25. Pool di connessioni con PostgreSQL e AWS
- 26. Come pool di connessioni memcached in Java (spymemcached)
- 27. Pool di connessioni con driver SQL in Go
- 28. Come utilizzare il pool di connessioni al database in Sequelize.js
- 29. COPIA DA e pool di connessioni C3PO in Postgres
- 30. Dimensione massima del pool di connessioni in SQL Server 2008
[Le funzioni di OrientJS] (https://github.com/orientechnologies/orientjs#features) sembrano già contenere un supporto ** Connection Pooling **. L'hai provato? Altrimenti, puoi gestire i client con un modulo di pool di risorse generico come [questo] (https://github.com/coopernurse/node-pool). – xmikex83
No, non l'ho fatto, perché non so come usarlo. Il modulo che hai menzionato sembra interessante, però. –