Configurar RabbitMQ como servicio proporcionado por el usuario

En este documento se explica cómo vincular tu aplicación a una instancia de RabbitMQ que no aparece en el mercado de Kf (incluida la opción RabbitMQ click to deploy on Marketplace) con Spring Cloud Foundry Connector. De esta forma, las credenciales de RabbitMQ se insertan en tu aplicación, al igual que al vincularse a servicios aprovisionados a través de planes de mercado.

Antes de empezar

  • Asegúrate de que tu clúster de Kf tenga instalado RabbitMQ y pueda acceder a él.
  • Asegúrate de que RabbitMQ ya se haya configurado para tu aplicación.
  • Asegúrate de que has seleccionado el espacio en el que se ejecuta tu aplicación.

Crear la instancia proporcionada por el usuario

Para que Kf pueda vincular correctamente una aplicación a tu instancia de RabbitMQ, la variable de entorno mínima es el URI (por ejemplo, amqp://username:password@host:port/vhost?query). Si quieres, puedes incluir otros pares clave-valor. La documentación de RabbitMQ puede ayudarte a crear una cadena URI. El siguiente ejemplo debería ser suficiente para las implementaciones básicas.

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

Vincular tu aplicación

Ahora que se ha creado el servicio proporcionado por el usuario, puedes vincular tu aplicación al nombre de la instancia:

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

Reinicia la aplicación para que los cambios surtan efecto:

kf restart application-name

Puedes confirmar que se han proporcionado las nuevas variables de entorno a tu aplicación:

kf vcap-services application-name

Actualizar la instancia proporcionada por el usuario

Si se producen cambios en el entorno (por ejemplo, se actualiza la contraseña o el host en el URI, o se añaden nuevos pares clave-valor) que deben transmitirse a cualquier aplicación 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"}'

Documentos relacionados