Overview of RabbitMQ configuration mechanisms
RabbitMQ nodes are configured using several different mechanisms depending on the target settings:
- Configuration Files: Used for server and plugin settings, TCP listeners, networking, TLS, resource alarms, authentication/authorization backends, and message store settings.
- Environment Variables: Used for node names, file/directory locations, and runtime flags (configured via shell or
rabbitmq-env.confon Linux/MacOS/BSD andrabbitmq-env-conf.baton Windows). - rabbitmqctl: Manages virtual hosts, users, permissions (when using internal auth), and runtime parameters/policies.
- rabbitmq-queues: Manages settings specific to quorum queues.
- rabbitmq-plugins: Manages plugin activation and configuration.
- rabbitmq-diagnostics: Used to inspect node state, effective configuration, metrics, and health checks.
- Parameters and Policies: Defines cluster-wide settings that can change at runtime or group-specific settings for queues and exchanges.
- Runtime (Erlang VM) Flags: Controls low-level system aspects like memory allocation, inter-node communication buffers, and scheduler settings.
- Operating System Kernel Limits: Controls process limits such as max open file handles, max processes, and kernel threads.