Configura RabbitMQ como un servicio proporcionado por el usuario

En este documento, aprenderás a vincular tu app a una instancia de RabbitMQ que no aparece en el mercado de Kf (incluido RabbitMQ) para implementar con un clic en Marketplace con Spring Cloud Foundry Connector. Esto hace que las credenciales de RabbitMQ se inserten en tu app, al igual que la vinculación con servicios aprovisionados a través de planes de mercado.

Antes de comenzar

  • Asegúrate de tener RabbitMQ instalado y que puedas acceder a él con tu clúster de Kf.
  • Asegúrate de que RabbitMQ ya esté configurado para tu app.
  • Asegúrate de haber orientado el espacio que ejecuta la app.

Crea la instancia proporcionada por el usuario

Para que Kf vincule de manera correcta una app a tu instancia de RabbitMQ, la variable de entorno mínima es el URI (por ejemplo, amqp://username:password@host:port/vhost?query). Se pueden incluir pares clave-valor adicionales si lo deseas. La documentación de RabbitMQ puede ayudarte a crear una string de URI. El siguiente ejemplo debería ser suficiente para implementaciones básicas.

kf cups service-instance-name -p '{"uri":"amqp://username:password@rabbitmq-host:5672"}' -t "rabbitmq"

Vincula tu aplicación

Ahora que se creó el servicio proporcionado por el usuario, puedes vincular tu app con el nombre de la instancia:

kf bind-service application-name service-instance-name

Reinicia la app para aplicar los cambios:

kf restart application-name

Puedes confirmar las nuevas variables de entorno que se proporcionan a tu app:

kf vcap-services application-name

Actualiza la instancia proporcionada por el usuario

Si hay cambios en el entorno (por ejemplo, contraseña o actualización del host en el URI, o bien la adición de pares clave-valor nuevos) que se deben pasar a cualquier app vinculada a él, puedes actualizar la instancia proporcionada por el usuario.

kf uups service-instance-name -p '{"uri":"new-uri", "some-new-key": "some-new-value"}'
kf unbind-service application-name service-instance-name
kf bind-service application-name service-instance-name

Documentos relacionados