1"use strict";(self.webpackChunkrabbitmq_website=self.webpackChunkrabbitmq_website||[]).push([["16436"],{7345(t,e,a){a.r(e),a.d(e,{metadata:()=>c,default:()=>v,frontMatter:()=>x,contentTitle:()=>y,toc:()=>b,assets:()=>w});var n,r,i,o,l,s,c=JSON.parse('{"id":"metadata-store/index","title":"Metadata store","description":"Role of the metadata store","source":"@site/docs/metadata-store/index.md","sourceDirName":"metadata-store","slug":"/metadata-store/","permalink":"/docs/next/metadata-store/","draft":false,"unlisted":false,"editUrl":"https://github.com/rabbitmq/rabbitmq-website/tree/main/docs/metadata-store/index.md","tags":[],"version":"current","frontMatter":{"title":"Metadata store"},"sidebar":"docsSidebar","previous":{"title":"Runtime Parameters","permalink":"/docs/next/parameters"},"next":{"title":"How to enable Khepri","permalink":"/docs/next/metadata-store/how-to-enable-khepri"}}'),d=a(74848),h=a(28453),m=a(11802),f=a(96540);function p(){return(p=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)({}).hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t}).apply(null,arguments)}let u=({title:t,titleId:e,...a})=>f.createElement("svg",p({width:"195mm",height:"60mm",viewBox:"0 0 194.99999 60",id:"svg1",xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":e},a),t?f.createElement("title",{id:e},t):null,n||(n=f.createElement("defs",{id:"defs1"})),f.createElement("g",{id:"layer1",transform:"translate(-37.333735,-133.2555)"},f.createElement("text",{xmlSpace:"preserve",style:{lineHeight:1.25,InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:202.79694,y:174.95424,id:"text12",fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",letterSpacing:"0px",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},f.createElement("tspan",{style:{InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:202.79694,y:174.95424,id:"tspan12",fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},"Runtime parameters")),r||(r=f.createElement("g",{id:"g11",transform:"matrix(0.49308712,0,0,0.49308712,196.98996,155.17991)",fill:"none",stroke:"#000000"},f.createElement("path",{d:"m 12,15 c 1.6569,0 3,-1.3431 3,-3 0,-1.6569 -1.3431,-3 -3,-3 -1.6569,0 -3,1.3431 -3,3 0,1.6569 1.3431,3 3,3 z",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",id:"path1-0",stroke:"#000000"}),f.createElement("path",{d:"m 18.7273,14.7273 c -0.121,0.2742 -0.1571,0.5783 -0.1037,0.8732 0.0535,0.2949 0.1941,0.5671 0.4037,0.7813 l 0.0545,0.0546 c 0.1691,0.1688 0.3032,0.3693 0.3947,0.5901 0.0915,0.2207 0.1386,0.4573 0.1386,0.6962 0,0.239 -0.0471,0.4756 -0.1386,0.6963 -0.0915,0.2207 -0.2256,0.4212 -0.3947,0.5901 -0.1688,0.169 -0.3694,0.3031 -0.5901,0.3946 -0.2207,0.0915 -0.4573,0.1386 -0.6962,0.1386 -0.239,0 -0.4756,-0.0471 -0.6963,-0.1386 -0.2207,-0.0915 -0.4212,-0.2256 -0.5901,-0.3946 L 16.4545,18.9545 C 16.2403,18.745 15.9682,18.6044 15.6733,18.5509 15.3784,18.4974 15.0742,18.5335 14.8,18.6545 c -0.2689,0.1153 -0.4982,0.3066 -0.6597,0.5505 -0.1615,0.2439 -0.2482,0.5297 -0.2494,0.8223 v 0.1545 c 0,0.4822 -0.1915,0.9447 -0.5325,1.2857 C 13.0174,21.8084 12.5549,22 12.0727,22 11.5905,22 11.1281,21.8084 10.7871,21.4675 10.4461,21.1265 10.2545,20.664 10.2545,20.1818 V 20.1 C 10.2475,19.7991 10.1501,19.5073 9.97501,19.2625 9.79991,19.0176 9.55521,18.8312 9.27273,18.7273 8.99853,18.6063 8.69437,18.5702 8.39947,18.6236 8.10456,18.6771 7.83244,18.8177 7.61818,19.0273 L 7.56364,19.0818 C 7.39478,19.2509 7.19425,19.385 6.97353,19.4765 6.7528,19.568 6.51621,19.6151 6.27727,19.6151 6.03834,19.6151 5.80174,19.568 5.58102,19.4765 5.36029,19.385 5.15977,19.2509 4.99091,19.0818 4.82186,18.913 4.68775,18.7124 4.59626,18.4917 4.50476,18.271 4.45766,18.0344 4.45766,17.7955 c 0,-0.239 0.0471,-0.4756 0.1386,-0.6963 0.09149,-0.2207 0.2256,-0.4212 0.39465,-0.5901 L 5.04545,16.4545 C 5.25503,16.2403 5.39562,15.9682 5.4491,15.6733 5.50257,15.3784 5.46647,15.0742 5.34545,14.8 5.23022,14.5311 5.03887,14.3018 4.79497,14.1403 4.55107,13.9788 4.26526,13.8921 3.97273,13.8909 H 3.81818 c -0.48221,0 -0.94467,-0.1915 -1.28565,-0.5325 C 2.19156,13.0174 2,12.5549 2,12.0727 2,11.5905 2.19156,11.1281 2.53253,10.7871 2.87351,10.4461 3.33597,10.2545 3.81818,10.2545 H 3.9 C 4.2009,10.2475 4.49273,10.1501 4.73754,9.97501 4.98236,9.79991 5.16883,9.55521 5.27273,9.27273 5.39374,8.99853 5.42984,8.69437 5.37637,8.39947 5.3229,8.10456 5.18231,7.83244 4.97273,7.61818 L 4.91818,7.56364 C 4.74913,7.39478 4.61503,7.19425 4.52353,6.97353 4.43203,6.7528 4.38493,6.51621 4.38493,6.27727 c 0,-0.23893 0.0471,-0.47553 0.1386,-0.69625 0.0915,-0.22073 0.2256,-0.42125 0.39465,-0.59011 0.16886,-0.16905 0.36939,-0.30316 0.59011,-0.39465 0.22072,-0.0915 0.45732,-0.1386 0.69626,-0.1386 0.23893,0 0.47553,0.0471 0.69625,0.1386 0.22072,0.09149 0.42125,0.2256 0.59011,0.39465 L 7.54545,5.04545 C 7.75971,5.25503 8.03183,5.39562 8.32674,5.4491 8.62164,5.50257 8.9258,5.46647 9.2,5.34545 H 9.27273 C 9.54161,5.23022 9.77093,5.03887 9.93245,4.79497 10.094,4.55107 10.
11807,4.26526 10.1818,3.97273 V 3.81818 c 0,-0.48221 0.1916,-0.94467 0.5326,-1.28565 C 11.0553,2.19156 11.5178,2 12,2 c 0.4822,0 0.9447,0.19156 1.2856,0.53253 0.341,0.34098 0.5326,0.80344 0.5326,1.28565 V 3.9 c 0.0011,0.29253 0.0878,0.57834 0.2494,0.82224 0.1615,0.2439 0.3908,0.43525 0.6597,0.55049 0.2742,0.12101 0.5783,0.15711 0.8732,0.10364 0.2949,-0.05347 0.5671,-0.19406 0.7813,-0.40364 l 0.0546,-0.05455 c 0.1688,-0.16905 0.3693,-0.30315 0.5901,-0.39465 0.2207,-0.0915 0.4573,-0.1386 0.6962,-0.1386 0.239,0 0.4756,0.0471 0.6963,0.1386 0.2207,0.0915 0.4212,0.2256 0.5901,0.39465 0.169,0.16886 0.3031,0.36939 0.3946,0.59011 0.0915,0.22072 0.1386,0.45732 0.1386,0.69626 0,0.23893 -0.0471,0.47553 -0.1386,0.69625 -0.0915,0.22072 -0.2256,0.42125 -0.3946,0.59011 L 18.9545,7.54545 C 18.745,7.75971 18.6044,8.03183 18.5509,8.32674 18.4974,8.62164 18.5335,8.9258 18.6545,9.2 v 0.07273 c 0.1153,0.26888 0.3066,0.4982 0.5505,0.65972 0.2439,0.16155 0.5297,0.24825 0.8223,0.24935 h 0.1545 c 0.4822,0 0.9447,0.1916 1.2857,0.5326 C 21.8084,11.0553 22,11.5178 22,12 c 0,0.4822 -0.1916,0.9447 -0.5325,1.2856 -0.341,0.341 -0.8035,0.5326 -1.2857,0.5326 H 20.1 c -0.2925,0.0011 -0.5783,0.0878 -0.8222,0.2494 -0.2439,0.1615 -0.4353,0.3908 -0.5505,0.6597 z",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",id:"path2",stroke:"#000000"}))),f.createElement("text",{xmlSpace:"preserve",style:{lineHeight:1.25,InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:164.93829,y:174.95424,id:"text6-5",transform:"translate(9.1964554e-7)",fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",letterSpacing:"0px",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},f.createElement("tspan",{style:{InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:164.93829,y:174.95424,id:"tspan7",fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},"Topology")),i||(i=f.createElement("path",{d:"m 167.64393,165.43613 h -0.10848 c -0.91133,0 -1.36695,0 -1.71506,-0.17737 -0.30618,-0.15599 -0.55508,-0.4049 -0.71108,-0.71108 -0.17736,-0.34811 -0.17736,-0.80372 -0.17736,-1.71505 v -3.47134 c 0,-0.91131 0,-1.36696 0.17736,-1.71504 0.156,-0.30617 0.4049,-0.5551 0.71108,-0.7111 0.34811,-0.17736 0.80373,-0.17736 1.71506,-0.17736 h 0.10848 m 0,8.67834 c 0,0.59913 0.48566,1.08479 1.08479,1.08479 0.59913,0 1.08479,-0.48566 1.08479,-1.08479 0,-0.59913 -0.48566,-1.0848 -1.08479,-1.0848 -0.59913,0 -1.08479,0.48567 -1.08479,1.0848 z m 0,-8.67834 c 0,0.59912 0.48566,1.08479 1.08479,1.08479 0.59913,0 1.08479,-0.48567 1.08479,-1.08479 0,-0.59911 -0.48566,-1.08479 -1.08479,-1.08479 -0.59913,0 -1.08479,0.48568 -1.08479,1.08479 z m -5.42396,4.33917 h 5.42396 m -5.42396,0 c 0,0.59913 -0.48568,1.08479 -1.08479,1.08479 -0.59912,0 -1.08479,-0.48566 -1.08479,-1.08479 0,-0.59913 0.48567,-1.08479 1.08479,-1.08479 0.59911,0 1.08479,0.48566 1.08479,1.08479 z m 5.42396,0 c 0,0.59913 0.48566,1.08479 1.08479,1.08479 0.59913,0 1.08479,-0.48566 1.08479,-1.08479 0,-0.59913 -0.48566,-1.08479 -1.08479,-1.08479 -0.59913,0 -1.08479,0.48566 -1.08479,1.08479 z",strokeWidth:1.08479,strokeLinecap:"round",strokeLinejoin:"round",id:"path1",stroke:"#000000",transform:"translate(9.1964554e-7)",fill:"none"})),f.createElement("text",{xmlSpace:"preserve",style:{lineHeight:1.25,InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:127.0077,y:174.95424,id:"text6-5-4",transform:"translate(9.1964554e-7)",fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",letterSpacing:"0px",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},f.createElement("tspan",{style:{InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:127.0077,y:174.95424,id:"tspan7-6",fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},"Virtual hosts")),o||(o=f.createElement("path",{d:"m 123.999,158.13906 h 0.005 m -0.005,5.91579 h 0.005 m -0.39931,-3.94386 h 6.70456 c 0.55219,0 0.82831,0 1.03921,-0.
110746 0.18551,-0.0945 0.33636,-0.24536 0.43086,-0.43088 0.10747,-0.21091 0.10747,-0.487 0.10747,-1.0392 v -0.78877 c 0,-0.55219 0,-0.82829 -0.10747,-1.0392 -0.0945,-0.18552 -0.24535,-0.33636 -0.43086,-0.43088 -0.2109,-0.10747 -0.48702,-0.10747 -1.03921,-0.10747 h -6.70456 c -0.5522,0 -0.82829,0 -1.0392,0.10747 -0.18552,0.0945 -0.33636,0.24536 -0.43088,0.43088 -0.10747,0.21091 -0.10747,0.487 -0.10747,1.0392 v 0.78877 c 0,0.5522 0,0.82829 0.10747,1.0392 0.0945,0.18552 0.24536,0.33635 0.43088,0.43088 0.21091,0.10746 0.48701,0.10746 1.0392,0.10746 z m 0,5.91579 h 6.70456 c 0.55219,0 0.82831,0 1.03921,-0.10747 0.18551,-0.0945 0.33636,-0.24535 0.43086,-0.43086 0.10747,-0.2109 0.10747,-0.48702 0.10747,-1.03921 v -0.78877 c 0,-0.55219 0,-0.82831 -0.10747,-1.03921 -0.0945,-0.18551 -0.24535,-0.33636 -0.43086,-0.43087 -0.2109,-0.10747 -0.48702,-0.10747 -1.03921,-0.10747 h -6.70456 c -0.5522,0 -0.82829,0 -1.0392,0.10747 -0.18552,0.0945 -0.33636,0.24536 -0.43088,0.43087 -0.10747,0.2109 -0.10747,0.48702 -0.10747,1.03921 v 0.78877 c 0,0.55219 0,0.82831 0.10747,1.03921 0.0945,0.18551 0.24536,0.33636 0.43088,0.43086 0.21091,0.10747 0.48701,0.10747 1.0392,0.10747 z",strokeWidth:.985965,strokeLinecap:"round",strokeLinejoin:"round",id:"path1-2",stroke:"#000000",transform:"translate(9.1964554e-7)",fill:"none"})),f.createElement("text",{xmlSpace:"preserve",style:{lineHeight:1.25,InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:88.87178,y:174.95424,id:"text6-5-9",transform:"translate(9.1964554e-7)",fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",letterSpacing:"0px",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},f.createElement("tspan",{style:{InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:88.87178,y:174.95424,id:"tspan22",fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},"Internal users")),l||(l=f.createElement("path",{d:"m 93.802822,166.52056 c 0,-0.84102 0,-1.26147 -0.103772,-1.60364 -0.233696,-0.77039 -0.836619,-1.37331 -1.607011,-1.60701 -0.342169,-0.10377 -0.762618,-0.10377 -1.603637,-0.10377 h -3.013108 c -0.840995,0 -1.261499,0 -1.603661,0.10377 -0.770398,0.2337 -1.373267,0.83662 -1.606963,1.60701 -0.103796,0.34217 -0.103796,0.76262 -0.103796,1.60364 m 7.532772,-8.1354 c 0,1.49769 -1.214102,2.7118 -2.711798,2.7118 -1.497684,0 -2.711798,-1.21411 -2.711798,-2.7118 0,-1.49768 1.214114,-2.71179 2.711798,-2.71179 1.497696,0 2.711798,1.21411 2.711798,2.71179 z",strokeWidth:1.20524,strokeLinecap:"round",strokeLinejoin:"round",id:"path1-86",stroke:"#000000",transform:"translate(9.1964554e-7)",fill:"none"})),f.createElement("text",{xmlSpace:"preserve",style:{lineHeight:1.25,InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:50.896729,y:174.95424,id:"text6-02-1",transform:"translate(9.1964554e-7)",fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",letterSpacing:"0px",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},f.createElement("tspan",{id:"tspan6-11-1",style:{InkscapeFontSpecification:"'Raleway, @wght=400'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",fontVariationSettings:"'wght' 400",textAlign:"center"},x:50.896729,y:174.95424,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},"Messages")),s||(s=f.createElement("path",{d:"m 46.076548,158.63183 4.025499,2.81784 c 0.325988,0.22822 0.488982,0.34231 0.666274,0.38648 0.156585,0.0391 0.320367,0.0391 0.476952,0 0.177292,-0.0442 0.340286,-0.15826 0.666274,-0.38648 l 4.025499,-2.81784 m -7.493979,6.40933 h 5.12746 c 0.82838,0 1.242521,0 1.558944,-0.16122 0.278313,-0.14179 0.504562,-0.36804 0.646356,-0.64636 0.161219,-0.31642 0.161219,-0.73056 0.161219,-1.55894 v -3.15536 c 0,-0.82836 0,-1.24254 -0.161219,-1.55893 -0.
1141794,-0.27831 -0.368043,-0.50458 -0.646356,-0.64638 -0.316423,-0.16121 -0.730564,-0.16121 -1.558944,-0.16121 h -5.12746 c -0.82836,0 -1.242541,0 -1.55893,0.16121 -0.278307,0.1418 -0.504576,0.36807 -0.64638,0.64638 -0.161209,0.31639 -0.161209,0.73057 -0.161209,1.55893 v 3.15536 c 0,0.82838 0,1.24252 0.161209,1.55894 0.141804,0.27832 0.368073,0.50457 0.64638,0.64636 0.316389,0.16122 0.73057,0.16122 1.55893,0.16122 z",strokeWidth:.98605,strokeLinecap:"round",strokeLinejoin:"round",id:"path1-8",stroke:"#000000",transform:"translate(9.1964554e-7)",fill:"none"})),f.createElement("rect",{style:{fontVariationSettings:"'wght' 400"},id:"rect20",width:157.51302,height:46.973965,x:70.598801,y:141.99547,rx:1.0916115,ry:1.0582386,transform:"translate(9.1964554e-7)",fill:"none",fillOpacity:1,fillRule:"evenodd",stroke:"#000000",strokeWidth:.268699,strokeLinejoin:"round",strokeDasharray:"1.07479, 0.537398",strokeDashoffset:0,strokeOpacity:1}),f.createElement("rect",{style:{fontVariationSettings:"'wght' 500"},id:"metadata-store-label-bg",width:64.894218,height:8.2458239,x:116.90814,y:137.53326,rx:1.0583333,ry:1.0583333,transform:"translate(9.1964554e-7)",fill:"#73a942",fillOpacity:1,fillRule:"evenodd",stroke:"#000000",strokeWidth:.264583,strokeLinejoin:"round",strokeDasharray:"none",strokeOpacity:1}),f.createElement("text",{xmlSpace:"preserve",style:{lineHeight:1.25,InkscapeFontSpecification:"'Raleway Bold'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center"},x:149.23036,y:143.18018,id:"text6-0",transform:"translate(9.1964554e-7)",fontStyle:"normal",fontVariant:"normal",fontWeight:"bold",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",letterSpacing:"0px",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},f.createElement("tspan",{id:"tspan6-1",style:{InkscapeFontSpecification:"'Raleway Bold'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center"},x:149.23036,y:143.18018,fontStyle:"normal",fontVariant:"normal",fontWeight:"bold",fontStretch:"normal",fontSize:"4.23333px",fontFamily:"Raleway",textAnchor:"middle",fill:"#000000",fillOpacity:1,strokeWidth:.264583},"Metadata store"))));var g=a(33117);let x={title:"Metadata store"},y="Metadata store",w={},b=[{value:"Role of the metadata store",id:"role-of-the-metadata-store",level:2},{value:"Supported Backends",id:"supported-backends",level:2},{value:"Mnesia",id:"mnesia",level:3},{value:"Khepri",id:"khepri",level:3}];function k(t){let e={a:"a",admonition:"admonition",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,h.R)(),...t.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.header,{children:(0,d.jsx)(e.h1,{id:"metadata-store",children:"Metadata store"})}),"\n",(0,d.jsx)(e.h2,{id:"role-of-the-metadata-store",children:"Role of the metadata store"}),"\n",(0,d.jsx)(e.p,{children:"The metadata store is the database where RabbitMQ records everything except\nqueue and stream messages:"}),"\n",(0,d.jsxs)(e.ul,{children:["\n",(0,d.jsxs)(e.li,{children:['users and permissions in the internal data store; "internal" as opposed to\nusers defined externally, for instance, ',(0,d.jsx)(e.a,{href:"./ldap",children:"LDAP"})]}),"\n",(0,d.jsx)(e.li,{children:(0,d.jsx)(e.a,{href:"./vhosts",children:"virtual hosts"})}),"\n",(0,d.jsx)(e.li,{children:"topology: exchanges, queues, streams, bindings"}),"\n",(0,d.jsx)(e.li,{children:(0,d.jsx)(e.a,{href:"./parameters",children:"runtime parameters"})}),"\n",(0,d.jsx)(e.li,{children:(0,d.jsx)(e.a,{href:"./policies",children:"policies"})}),"\n"]}),"\n",(0,d.jsxs)("figure",{className:m.A.diagram,children:[(0,d.jsx)(u,{}),(0,d.jsx)("figcaption",{children:"Role of the metadata store"})]}),"\n",(0,d.jsx)(e.p,{children:"In a cluster, the metadata store is responsible for replicating that across\nall RabbitMQ nodes."}),"\n",(0,d.jsx)(e.p,{children:"The metadata store subsystem relies on a backend library to provide the\ndatabase, its replication algorithm and failure recovery characteristics."}),"\n",(0,d.jsx)(e.h2,{id:"supported-backends",children:"Supported Backends"}),"\n",(0,d.jsx)(e.p,{children:"RabbitMQ supports two different metadata stores:"}),"\n",(0,d.jsxs)(e.ul,{children:["\n",(0,d.jsx)(e.li,{children:"Khepri (newer, recommended)"}),"\n",(0,d.jsx)(e.li,{children:"Mnesia (the original metadata store)"}),"\n"]}),"\n",(0,d.jsx)(e.p,{children:"Only one of them is used at a given time. Eac
1h one is described below."}),"\n",(0,d.jsx)(e.h3,{id:"mnesia",children:"Mnesia"}),"\n",(0,d.jsx)("figure",{className:"without-borders",style:{float:"right"},children:(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.img,{src:"https://www.erlang.org/assets/img/erlang-logo.svg",alt:""}),"\n",(0,d.jsx)("figcaption",{children:"Erlang/OTP logo"})]})}),"\n",(0,d.jsx)(e.p,{children:"Mnesia is the original backend, and the only backend used by RabbitMQ until\nRabbitMQ 3.13.x. This library is part of Erlang/OTP\u2019s standard distribution."}),"\n",(0,d.jsx)(e.p,{children:"It is reasonably efficient, provides transactions and cluster replication, an\nAPI for backup and restore and, being a native Erlang/OTP library, is\nperfectly integrated in any Erlang application."}),"\n",(0,d.jsxs)(e.p,{children:["Mnesia\u2019s ",(0,d.jsx)(e.strong,{children:"weakness is its failure recovery characteristics"}),", in particular\nwhen it comes to network partitions. Its replication algorithm assumes that\nthe system that uses Mnesia can afford to throw away all data on one side of a\nnetwork partition, which is not always the case and does not match the\nexpectations of many technical operations teams."]}),"\n",(0,d.jsx)(e.p,{children:"With Mnesia, it\u2019s up to RabbitMQ to resolve conflicts in the data if two nodes\ncould not communicate for a while and the database was updated on one side\n(e.g. a queue was declared)."}),"\n",(0,d.jsxs)(e.p,{children:["To deal with this, ",(0,d.jsx)(e.a,{href:"./partitions",children:"network partition strategies"})," were\nintroduced in RabbitMQ. However they are by no means a fundamental solution\nand are difficult to reason about."]}),"\n",(0,d.jsx)(e.h3,{id:"khepri",children:"Khepri"}),"\n",(0,d.jsxs)("figure",{className:"without-borders",style:{float:"right"},children:[(0,d.jsx)(g.A,{className:"floating-logo",style:{width:"100px",height:"175px"}}),(0,d.jsx)("figcaption",{children:"Khepri logo"})]}),"\n",(0,d.jsxs)(e.p,{children:["Khepri is a fully supported metadata store starting with RabbitMQ 4.0.x. It is\ndeveloped by the RabbitMQ team and reuses a lot of the work done for ",(0,d.jsx)(e.a,{href:"./quorum-queues",children:"quorum\nqueues"})," and ",(0,d.jsx)(e.a,{href:"./streams",children:"streams"}),"."]}),"\n",(0,d.jsxs)(e.p,{children:["Indeed all these components are based on the ",(0,d.jsx)(e.a,{href:"https://raft.github.io/",children:"Raft consensus\nalgorithm"}),". Therefore the behavior is well defined in\nthe case of a loss of connectivity and is way easier to reason about. The\nbehavior is also consistent across RabbitMQ components and subsystems because\nthey all use the same algorithm."]}),"\n",(0,d.jsx)(e.p,{children:"The goal is to ultimately switch to Khepri only and stop using Mnesia.\nHowever, the use of Khepri is a breaking change compared to Mnesia \u2014\xa0even\nthough it is an internal piece\xa0\u2014 because it affects various user-visible\nparts behavior when the cluster or the network have a bad day."}),"\n",(0,d.jsxs)(e.p,{children:["If you want to learn more about Khepri and its intagration into RabbitMQ,\nMichael Davis, who works on this project, made a presentation at the Code BEAM\nEurope 2023 confenence. You can watch the ",(0,d.jsx)(e.a,{href:"https://www.youtube.com/watch?v=whVqpgvep90",children:'recording of "Khepri: Replacing\nMnesia in RabbitMQ"'})," on YouTube."]}),"\n",(0,d.jsxs)(e.admonition,{type:"tip",children:[(0,d.jsx)(e.p,{children:"Khepri became the default backend as of RabbitMQ 4.2.0."}),(0,d.jsx)(e.p,{children:"Mnesia will still be supported. An existing RabbitMQ deployment will continue\nto use it once upgraded to RabbitMQ 4.2.x until Khepri is explicitly enabled\nby the administrator."}),(0,d.jsxs)(e.p,{children:["Mnesia support will be removed in a future version. That is why ",(0,d.jsx)(e.strong,{children:"the RabbitMQ\nteam encourages users to test their workload and applications with Khepri"})," to\ntruely mature it to become the future default (and only) metadata store in\nRabbitMQ."]})]}),"\n",(0,d.jsx)(e.p,{children:"The few next pages will explain how to enable Khepri and will cover these\nchanges of behavior for various daily operations."})]})}function v(t={}){let{wrapper:e}={...(0,h.R)(),...t.components};return e?(0,d.jsx)(e,{...t,children:(0,d.jsx)(k,{...t})}):k(t)}},11802(t,e,a){a.d(e,{A:()=>n});let n={diagram:"diagram_xNT2"}},33117(t,e,a){a.d(e,{A:()=>h});var n,r,i,o,l,s,c=a(96540);function d(){return(d=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)({}).hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t}).apply(null,arguments)}let h=({title:t,titleId:e,...a})=>c.createElement("svg",d({viewBox:"0 0 313.52 684.98",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":e},a),t?c.createElement("title",{id:e},t):null,n||(n=c.createElement("g",{stroke:"#4d3d36",strokeWidth:14.362},c.createElement("path",{d:"m243.54 36.109v92.57c0 15.976-38.854 28.928-86.784 28.928-47.93 0-86.784-12.952-86.784-28.928v-92.57",fill:"#fff",strokeLinecap:"round",strokeLinejoin:"round"}),c.createElement("path",{d:"m243.54 36.109c0 15.976-38.854 28.928-86.784 28.928-47.93 0-86.784-12.952-86.784-28.928 0-15.976 38.854-28.928 86.784-28.928 47.93 0 86.784 12.952 86.784 28.928z",fill:"#f60"}),c.createElement("g",{fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},c.createElement("path",{d:"m156.76 192.32v-34.714"}),c.createElement("path",{d:"m133.62 215.46h-80.998"}),c.createElement("path",{d:"m179.9 215.46h80.998"})),c.createElement("path",{d:"m179.9 215.46c0 12.781-10.361 23.142-23.142 23.142-12.781 0-23.142-10.361-23.142-23.142 0-12.781 10.361-23.142 23.142-23.142 12.781 0 23.142 10.361 23.142 23.142z",fill:"#f60",strokeLinecap:"round",strokeLinejoin:"round"}),c.createElement("path",{d:"m243.54 82.394c0 15.976-38.854 28.928-86.784 28.928-47.93 0-86.784-12.952-86.784-28.928",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"}))),r||(r=c.createElement("path",{d:"m258.5 534.2c-1.477-0.999-2.549-2.491-3.024-4.209-0.054-0.193-2.315-8.354-5.204-18.859l-25.144 7.83-2.87 13.239c-0.762 3.513-3.869 5.912-7.323 5.913-0.526 0-1.061-0.056-1.596-0.172-4.049-0.878-6.618-4.871-5.741-8.919l3.797-17.512c0.573-2.641 2.521-4.769 5.101-5.572l29.807-9.281c-2.983-10.91-5.918-21.744-7.45-27.676-2.604-10.077-6.936-19.471-12.876-27.921-2.041-2.903-1.768-6.84 0.655-9.433 20.751-22.216 37.581-48.204 50.024-77.244 16.344-38.145 23.685-78.409 21.48-117.29-29.672 25.223-53.761 58.31-70.106 96.456-9.873 23.043-16.479 46.917-19.664 71.037 3.58 2.156 7.039 4.527 10.313 7.117 3.249 2.569 3.8 7.286 1.229 10.534-1.479 1.872-3.673 2.848-5.887 2.848-1.63 0-3.271-0.528-4.647-1.618-3.899-3.083-8.096-5.821-12.473-8.157-0.036-0.019-0.074-0.031-0.11-0.05-12.315-6.551-25.784-9.872-40.031-9.872s-27.716 3.321-40.031 9.872c-0.034 0.018-0.07 0.03-0.105 0.048-4.378 2.337-8.577 5.074-12.478 8.159-1.377 1.09-3.019
11.618-4.647 1.618-2.214 0-4.407-0.976-5.887-2.848-2.57-3.248-2.02-7.965 1.229-10.534 3.274-2.59 6.734-4.961 10.313-7.117-3.185-24.121-9.791-47.995-19.664-71.038-16.346-38.146-40.435-71.233-70.106-96.456-2.205 38.882 5.137 79.146 21.483 117.29 12.444 29.041 29.275 55.03 50.025 77.245 2.422 2.593 2.695 6.529 0.654 9.433-5.94 8.449-10.272 17.843-12.876 27.92-1.533 5.932-4.468 16.765-7.45 27.676l29.807 9.281c2.58 0.804 4.527 2.932 5.101 5.572l3.797 17.512c0.877 4.048-1.692 8.041-5.741 8.919-0.535 0.115-1.069 0.172-1.596 0.172-3.454 0-6.562-2.4-7.323-5.913l-2.87-13.239-25.144-7.83c-2.89 10.505-5.151 18.666-5.204 18.859-0.476 1.718-1.548 3.21-3.024 4.209-17.987 12.172-28.727 32.385-28.727 54.07 0 35.972 29.266 65.236 65.237 65.236h20.768c1.792 0 3.524 0.642 4.884 1.809 11.017 9.454 25.072 14.66 39.577 14.66s28.561-5.206 39.577-14.66c1.359-1.167 3.092-1.809 4.884-1.809h20.768c35.972 0 65.237-29.265 65.237-65.236-2e-3 -21.686-10.741-41.899-28.728-54.071zm-109.24-57.818c0-4.143 3.357-7.5 7.5-7.5s7.5 3.357 7.5 7.5v10.877c0 4.143-3.357 7.5-7.5 7.5s-7.5-3.357-7.5-7.5zm-20-21.754v-10.877c0-4.143 3.357-7.5 7.5-7.5s7.5 3.357 7.5 7.5v10.877c0 4.143-3.357 7.5-7.5 7.5s-7.5-3.357-7.5-7.5zm43.831 185.32h-32.66c-4.143 0-7.5-3.357-7.5-7.5s3.357-7.5 7.5-7.5h8.83v-15.816l-13.419-10.382c-3.276-2.534-3.878-7.245-1.343-10.521 1.471-1.902 3.676-2.895 5.907-2.904 0.024-7e-3 32.685-7e-3 32.685-7e-3 2.255 0.015 4.461 1.008 5.932 2.911 2.535 3.275 1.934 7.986-1.343 10.521l-13.42 10.383v15.816h8.83c4.143 0 7.5 3.357 7.5 7.5s-3.357 7.499-7.499 7.499zm11.169-185.32c0 4.143-3.357 7.5-7.5 7.5s-7.5-3.357-7.5-7.5v-10.877c0-4.143 3.357-7.5 7.5-7.5s7.5 3.357 7.5 7.5z",fill:"#fff"})),i||(i=c.createElement("path",{d:"m269.21 523.4c-2.74-9.907-12.56-45.468-15.841-58.168-2.546-9.855-6.504-19.158-11.791-27.731 20.114-22.501 36.535-48.445 48.858-77.206 19.311-45.067 26.714-93.023 21.409-138.68-0.311-2.67-2.025-4.97-4.496-6.028-2.472-1.061-5.319-0.715-7.466 0.902-36.718 27.653-66.335 66.09-85.645 111.16-9.723 22.691-16.444 46.163-20.031 69.914-11.791-4.709-24.555-7.167-37.451-7.167s-25.66 2.458-37.451 7.167c-3.587-23.751-10.309-47.223-20.031-69.914-19.312-45.067-48.928-83.504-85.647-111.16-2.146-1.617-4.993-1.963-7.466-0.902-2.471 1.059-4.186 3.358-4.496 6.028-5.305 45.659 2.099 93.615 21.409 138.68 12.324 28.76 28.747 54.707 48.857 77.206-5.286 8.573-9.244 17.876-11.79 27.731-3.281 12.7-13.101 48.261-15.841 58.168-20.724 15.102-33.012 39.143-33.012 64.872 0 44.242 35.994 80.236 80.237 80.236h18.072c13.383 10.641 30.017 16.469 47.156 16.469s33.773-5.828 47.156-16.469h18.072c44.243 0 80.237-35.994 80.237-80.236 3e-3 -25.73-12.285-49.771-33.008-64.872zm-47.226 130.11h-20.768c-1.792 0-3.524 0.642-4.884 1.809-11.017 9.454-25.072 14.66-39.577 14.66s-28.561-5.206-39.577-14.66c-1.359-1.167-3.092-1.809-4.884-1.809h-20.768c-35.972 0-65.237-29.265-65.237-65.236 0-21.686 10.739-41.898 28.727-54.07 1.477-0.999 2.549-2.491 3.024-4.209 0.054-0.193 2.315-8.354 5.204-18.859l25.144 7.83 2.87 13.239c0.762 3.513 3.869 5.913 7.323 5.913 0.526 0 1.061-0.057 1.596-0.172 4.049-0.878 6.618-4.871 5.741-8.919l-3.797-17.512c-0.573-2.641-2.521-4.769-5.101-5.572l-29.807-9.281c2.983-10.91 5.918-21.744 7.45-27.676 2.604-10.077 6.936-19.471 12.876-27.92 2.041-2.903 1.768-6.84-0.654-9.433-20.75-22.215-37.581-48.204-50.025-77.245-16.344-38.146-23.686-78.41-21.481-117.29 29.672 25.223 53.761 58.31 70.106 96.456 9.873 23.043 16.479 46.917 19.664 71.038-3.579 2.155-7.039 4.527-10.313 7.117-3.249 2.569-3.8 7.286-1.229 10.534 1.479 1.872 3.673 2.848 5.887 2.848 1.629 0 3.271-0.528 4.647-1.618 3.901-3.085 8.1-5.823 12.478-8.159 0.034-0.018 0.071-0.03 0.105-0.048 12.315-6.551 25.784-9.872 40.031-9.872s27.716 3.321 40.031 9.872c0.036 0.019 0.074 0.031 0.11 0.05 4.377 2.336 8.574 5.073 12.473 8.157 1.377 1.09 3.018 1.618 4.647 1.618 2.214 0 4.407-0.976 5.887-2.848 2.57-3.248 2.02-7.965-1.229-10.534-3.274-2.59-6.733-4.961-10.313-7.117 3.185-24.121 9.791-47.995 19.664-71.037 16.346-38.146 40.435-71.233 70.106-96.456 2.205 38.881-5.137 79.145-21.482 117.29-12.443 29.04-29.273 55.028-50.024 77.244-2.423 2.593-2.696 6.529-0.655 9.433 5.94 8.45 10.272 17.844 12.876 27.921 1.533 5.932 4.468 16.765 7.45 27.676l-29.807 9.281c-2.58 0.804-4.527 2.932-5.101 5.572l-3.797 17.512c-0.877 4.048 1.692 8.041 5.741 8.919 0.535 0.116 1.069 0.172 1.596 0.172 3.454-1e-3 6.562-2.4 7.323-5.913l2.87-13.239 25.144-7.83c2.89 10.505 5.151 18.666 5.204 18.859 0.476 1.718 1.548 3.21 3.024 4.209 17.987 12.172 28.727 32.385 28.727 54.07 1e-3 35.97-29.264 65.235-65.236 65.235z",f
1ill:"#4d3d36"})),o||(o=c.createElement("path",{d:"m156.76 595.98 11.741-9.083c1.373-1.063 3-1.567 4.612-1.561-0.023-7e-3 -32.684-7e-3 -32.684-7e-3 1.589 1e-3 3.216 0.505 4.589 1.568z",fill:"#f60"})),l||(l=c.createElement("path",{d:"m173.09 624.95h-8.83v-15.816l13.419-10.382c3.276-2.534 3.878-7.245 1.343-10.521-1.471-1.903-3.677-2.896-5.908-2.904-1.613-6e-3 -3.239 0.499-4.612 1.561l-11.743 9.085-11.741-9.083c-1.373-1.063-3-1.567-4.613-1.561-2.231 9e-3 -4.436 1.002-5.907 2.904-2.535 3.275-1.934 7.986 1.343 10.521l13.419 10.382v15.816h-8.83c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h32.66c4.143 0 7.5-3.357 7.5-7.5s-3.358-7.502-7.5-7.502z",fill:"#4d3d36",strokeWidth:1.0016})),s||(s=c.createElement("g",{fill:"#f60"},c.createElement("path",{d:"m144.26 454.63v-10.877c0-4.143-3.357-7.5-7.5-7.5s-7.5 3.357-7.5 7.5v10.877c0 4.143 3.357 7.5 7.5 7.5s7.5-3.357 7.5-7.5z"}),c.createElement("path",{d:"m156.76 494.76c4.143 0 7.5-3.357 7.5-7.5v-10.877c0-4.143-3.357-7.5-7.5-7.5s-7.5 3.357-7.5 7.5v10.877c0 4.143 3.358 7.5 7.5 7.5z"}),c.createElement("path",{d:"m176.76 436.25c-4.143 0-7.5 3.357-7.5 7.5v10.877c0 4.143 3.357 7.5 7.5 7.5s7.5-3.357 7.5-7.5v-10.877c0-4.142-3.357-7.5-7.5-7.5z"}))))},28453(t,e,a){a.d(e,{R:()=>o,x:()=>l});var n=a(96540);let r={},i=n.createContext(r);function o(t){let e=n.useContext(i);return n.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function l(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:o(t.components),n.createElement(i.Provider,{value:e},t.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.