MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment accéder à une base de données MongoDB à partir de deux applications Openshift ?

Mise à jour 2018 :cela s'applique à Openshift 2. La version 3 est très différente, et cependant les règles générales de linux et de mise à l'échelle s'appliquent, les détails sont devenus obsolètes.

Bien que la réponse de @MartinB ait été correcte et opportune, ce n'est qu'un lien, alors laissez-moi mettre l'essentiel ici.

En supposant que la configuration d'une base de données non partagée est déjà effectuée, vous devez trouver son hôte et son port. Vous pouvez ssh à votre application (celle avec la DB) ou utilisez le rhc :

rhc ssh -a appwithdb
env | grep MONGODB 

env apporte toutes les variables d'environnement et grep les filtre pour n'afficher que celles liées à Mongo. Vous devriez voir quelque chose comme :

OPENSHIFT_MONGODB_DB_HOST=xxxxx-yyyyy.apps.osecloud.com
OPENSHIFT_MONGODB_DB_PORT=zzzzz

xxxxx is the ID of the gear that Mongo sits on
yyyyy is your domain/namespace
zzzzz is MongoDB port

Désormais, vous pouvez les utiliser pour créer une connexion à la base de données depuis n'importe où dans votre environnement Openshift. Une autre application doit utiliser l'URL xxxxx-yyyyy:zzzzz. Vous pouvez les stocker dans des variables personnalisées pour faciliter la maintenance.

$ rhc env-set \
MYOWN_DB_HOST=xxxxx-yyyyy \
MYOWN_DB_PORT=zzzzz \
MYOWN_DB_PASSWORD=****** \
MYOWN_DB_USERNAME=admin..... \
MYOWN_DB_NAME=dbname...

Et puis utilisez les variables d'environnement au lieu des variables standard. N'oubliez pas qu'ils ne sont pas mis à jour automatiquement lorsque la base de données s'éloigne.