@@ -18,3 +18,33 @@ Two new optional built-in interceptors were added to RabbitMQ:
18
18
2 . Setting client ID of publishing MQTT client
19
19
20
20
Detailed information can be found in the [ Message Interceptor] ( https://www.rabbitmq.com/docs/next/message-interceptors ) documentation.
21
+
22
+ ### Khepri enabled by default
23
+
24
+ RabbitMQ supports two databases to [ store
25
+ metadata] ( https://www.rabbitmq.com/docs/metadata-store ) such as virtual hosts,
26
+ topology, runtime parameters, policies, internal users and so on: Mnesia and
27
+ Khepri. That metadata store is also at the heart of clustering in RabbitMQ. As
28
+ of RabbitMQ 4.2.0, ** Khepri is the default metadata store for new
29
+ deployments** .
30
+
31
+ [ Khepri] ( https://www.rabbitmq.com/docs/metadata-store#khepri ) is based on the
32
+ same Raft consensus algorithm used by quorum queues and streams. The goal is to
33
+ have a consistent well defined behaviour around all queries and updates of
34
+ metadata across an entire cluster, especially when the cluster suffers
35
+ increased latency or network issues for instance. It also comes with increased
36
+ performance in several use cases, even though this was not a goal.
37
+
38
+ A new RabbitMQ 4.2.0+ node will use Khepri by default. If you upgrade an
39
+ existing node or cluster, it will continue to use whatever metadata store it
40
+ was using so far.
41
+
42
+ If you did not enable Khepri yet, [ it is recommended you enable
43
+ it] ( https://www.rabbitmq.com/docs/metadata-store/how-to-enable-khepri ) :
44
+
45
+ ```
46
+ rabbitmqctl enable_feature_flag khepri_db
47
+ ```
48
+
49
+ Khepri will become mandatory in a future minor version. Mnesia support will be
50
+ dropped in a future major version. These exact versions are to be decided.
0 commit comments