RabbitMQ for PCF
RabbitMQ for PCF enables PCF app developers to provision and use the RabbitMQ message broker with a single command.
RabbitMQ for PCF v1.8 supports two types of service, an on-demand service and a pre-provisioned service. This table summarizes the main differences between the two:
|Available Since||VMs it Runs On||How VMs are Created||Metrics Name Prefix|
|On-Demand Service||New for v1.8||Dedicated VM that serves a single service instance||PCF creates each VM on-demand when app developer creates service instance||
|Pre-Provisioned Service||v1.2||Multi-tenant VMs shared by apps across PCF deployment||PCF creates all VMs when operator deploys or updates service||
This RabbitMQ for PCF v1.8 documentation describes both service types. Documentation for RabbitMQ for PCF v1.7 and earlier only describes a pre-provisioned service.
What are dedicated instances and when to use them with RabbitMQ
Right now (for PCF RabbitMQ versions before 1.8.0), the RabbitMQ Service instances correspond to a unique RabbitMQ Vhost on the multi-tenant RabbitMQ cluster. In PCF RabbitMQ 1.8.0, we are introducing On-Demand Broker (ODB) support (experimental). That means that a new cluster can be created and dedicated to a single application (single-tenant).
RabbitMQ is a fast and dependable open-source message server, which supports a wide range of use cases including reliable integration, content-based routing and global data delivery, and high-volume monitoring and data ingestion.
Emerging as the de facto standard for cloud messaging, RabbitMQ is used for efficient communication between servers, applications and devices, and creates lasting value by enabling rapid development of modern decentralized application and data architectures that can scale with your business needs.
The following table provides version and version-support information about RabbitMQ for PCF.
|Release date||May 25, 2017|
|Software component version||RabbitMQ OSS v3.6.9|
|Compatible Ops Manager version(s)||v1.9.x, and 1.10.x|
|Compatible Elastic Runtime version(s)||v1.9.x, and 1.10.x|
|IaaS support||AWS, Azure, GCP, OpenStack, and vSphere|
- Provision on-demand single node dedicated instances of RabbitMQ
- Emit metrics for Dedicated Instances
- Provision an instance of the RabbitMQ service, which corresponds to a unique RabbitMQ Vhost (virtual host)
- Bind applications to an instance of the plan, providing unique credentials for each binding
- Management dashboard access to PCF Operators and application developers
- Deployment across multiple availability zones, with nodes striped across the AZs automatically
- Enable SSL (Secure Sockets Layer) for the AMQP, MQTT, STOMP protocols
- HAProxy load balancer across all nodes to balance connections
- Plugin configuration can be easily changed at any time and the cluster redeployed and updated
- The cluster topology can be changed and easily scaled out
- Automated upgrades of RabbitMQ for major, minor and patch releases (see release notes for downtime requirements)
- Configure the end point for the RabbitMQ Syslog
- RabbitMQ and HAProxy metrics are exposed on the firehose
- Enable operators to select
- Deleting your RabbitMQ for PCF tile can timeout (1 hour) if many dedicated instances have been deployed. Retrying will continue the cleanup process
- Smoke tests will fail if SSL/TLS is configured for your RabbitMQ cluster
nameis namespaced with
/p-rabbitmq(this should be
spring-bootclient libraries cannot bind to dedicated instance services
Please provide any bugs, feature requests, or questions to the PCF Feedback list.