This avoids using Mix while compiling which simplifies a number of things and let us do further build improvements later on. Elixir is only enabled from within rabbitmq_cli currently. Eunit is disabled since there are only Elixir tests. Dialyzer will force-enable Elixir in order to process Elixir-compiled beam files. This commit also includes a few changes that are related: * The Erlang distribution will now be started for parallel-ct * Many unnecessary PROJECT_MOD lines have been removed * `eunit_formatters` has been removed, it provides little value * The new `maybe_flock` Erlang.mk function is used where possible * Build test deps when testing rabbitmq_cli (Mix won't do it anymore) * rabbitmq_ct_helpers now use the early plugins to have Dialyzer properly set up |
||
---|---|---|
.. | ||
include | ||
priv/schema | ||
src | ||
test | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
LICENSE-MPL-RabbitMQ | ||
Makefile | ||
README.md | ||
RUNNING_TESTS.md |
README.md
RabbitMQ Peer Discovery Etcd
This is an etcd-based implementation of RabbitMQ peer discovery interface (new in 3.7.0, previously available in the rabbitmq-autocluster plugin by Gavin Roy).
This plugin only performs peer discovery and most basic node health monitoring using etcd as a data source. Please get familiar with RabbitMQ clustering fundamentals before attempting to use it.
While it may seem at times that this is a RabbitMQ cluster management solution, it is not. Cluster provisioning and most of Day 2 operations such as proper monitoring are not in scope for this plugin.
Supported RabbitMQ Versions
This plugin requires RabbitMQ 3.7.0 or later.
Supported etcd Versions
The plugin supports etcd 3.4 or later and uses the current stable v3 gRPC API.
Installation
This plugin ships with supported RabbitMQ versions. There is no need to install it separately.
As with any plugin, it must be enabled before it can be used. For peer discovery plugins it means they must be enabled or preconfigured before first node boot:
rabbitmq-plugins --offline enable rabbitmq_peer_discovery_etcd
Documentation
See RabbitMQ Cluster Formation guide.
Contributing
See CONTRIBUTING.md and our development process overview.
License
Licensed under the MPL, same as RabbitMQ server.
Copyright
(c) 2007-2024 Broadcom. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. All rights reserved.