
áĄááŸáŹážáá¶áááŻááșáááșááŸáááŸáŻááŸáá·áș ááŒáá·áșááŹážáá±áŹáááŸááááŻááșááŸáŻáááŻá·áááș ááŒáźážááŹážáá±áŹáĄááŒá±áŹááșážáĄááŹáá»áŹážááŒá
áșáá±áŹááŒá±áŹáá·áș áá»áœááșáŻááșáááŻá·áááș ááźážááŒáŹážáá±áŹááșážáá«ážáá»áŹážááᯠRabbitMQ ááŸáá·áș Kafka áĄááœááș ááŒáŸáŻááșááŸá¶ááŹážáá«áááșá á€áá±áŹááșážáá«ážáááș RabbitMQ áĄááŒá±áŹááșážááŒá
áșááŒáźáž áá±áŹááșáá
áșááŻáááș RabbitMQ ááŸáá·áș ááŸááŻááșážááŸááșáá«á Kafka áĄááŒá±áŹááșážááŒá
áșáááșá ááźáá±áŹááșážáá«ážá áĄááŸááșááŒáźážáááŻá· á
áááșáá»ááșážááŹáĄá±áŹááșááŹážá
áĄááŸáŹážáá¶áááŻááșáááșááŸáááŸáŻá ááźááœááșááŸáŻááŸáá·áș ááŒáá·áșááŹážáá±áŹáááŸááááŻááșááŸáŻ (HA) áá»á°ááŹáá»áŹážááŸáá·áș áá»á°ááŹáá áșááŻá áźááœááș ááŒáŻááŻááșááá·áș ááŻááșááœááșááŸáŻáĄáááŻážáĄáá»áŸá±áŹá·áá»áŹážááᯠááŒáá·áșááŒáá«á ááŻá·á RabbitMQ áááș node áĄá áŻáĄáá±ážáá áșááŻáá±á«áșááœááș áĄááŻááșááŻááșáááŻááșááŒáźážá áááŻá·áá±áŹááș ááŒáá·áșáá±ááá·áșá áá áșáĄááŒá áș áĄáá»ááŻážáĄá áŹážááœáČááŒáŹážááŹážáááșá ááŒáá·áșáá±ááŸáŻá áá áșáá»áŹážááŸáá·áșáááșáááșááŹáá»áŸááș áá»áœááșáŻááșáááŻá·áááș ááźááœááșááŸáŻááŸáá·áș áááŸááááŻááșááŸáŻáĄááŒá±áŹááșáž ááŒá±áŹáááŻáá±á·ááŸááááșá
á€ááá±áŹáááŹážáá»áŹážáááș á
áá
áșáá
áșáᯠáĄáááșáááŒá±ááá·áșáĄáá« áááșáááŻá·ááŒáŻáá°áááșááᯠáá±áŹáșááŒáááșá ááœááșáááșáá»áááșáááșááŸáŻ áá»ááŻá·ááœááșážááŸáŻá ááŹááŹáá»ááŻá·ááœááșážááŸáŻá ááŹá·ááșááááŻááșáá»ááŻá·ááœááșážááŸáŻá áĄááŸááŻááșá
áŻáá±áŹááșážááŸáŻá áááșáááșáá»á±áŹááșááŻá¶ážááŸáŻ áááŻá·áááŻááș ááœááșáááșáá»áááșáááșááŸáŻ ááŸá±ážááœá±ážááŒááșážááŒá±áŹáá·áș ááŹááŹááŹááźááááŸááááŻááșáá«á á€áĄááŹáĄáŹážááŻá¶ážáááș áá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻ áááŻá·áááŻááș ááááááčááá»áŹážááźáááŻá· áŠážáááșááœáŹážá
á±áááŻááșáááșá áá»ááșááœááșááŸáŻáĄááŒá±áĄáá±áĄáŹážááŻá¶ážáĄááœááș (áá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻáááŸáá áá±ááŹááœáČááŒáŹážááŸáŻáááŸá) ááŸáá·áș áááŸááááŻááșáááș (áááșááŸáŻááŒááșážááŸáá·áș áá±ážááŒááșážáá»áŹážááᯠáááșáá¶áááș) ááŸá
áșááŻááŻá¶ážááŻá¶ážááŻá¶ážááźááœááșáá±áŹ á
áá
áșáá
áșááŻááᯠáá°áá±áŹááșáááș áááŒá
áșáááŻááșááá±áŹááșááŒá
áșáá±ááŒáźááŒá
áșáááșá
áááŻááșáá»á±áŹááźááœá±ááŸáááŸáŻááŸáá·áș áááŸááááŻááșááŸáŻáááŻá·áááș áá±áŹááșá
ááșáááșážá ááá·áșáá»ááșáááșá
áœááșážáá»áŹážáá±á«áșááœááș ááŸááá±áááșááᯠáá»áœááșáŻááșáááŻá·ááœá±á·ááŒááșáááŒáźáž áĄáá±áŹááșážááŻá¶ážááŒá
áșáĄá±áŹááș áááșááœá±ážáá»ááșáááș áááŻáĄááșáá«áááșá ááááșážáá±áŹááșážááá±áŹá· RabbitMQ ááČá· ááźááœá±ážáá»ááșááŸáŻááŒá
áșáááŻááșáá«áááșá ááá·áșááœááș áááŻáááŻááźááœááșááŸáŻ áááŻá·áááŻááș áááŻáááŻááŻá¶ážá
áœáČáááŻááșááŸáŻááźáááŻá· áá»áááșááœááșáá»áŸáŹáááŻááŒá±áŹááșážáááș ဠ"nerdy" ááźááŹáá»áŹážááŸááááșá
áĄáááșááŒáŻááŹážáá±áŹ ááŸááșáááșážáá»áŹážááŒá±áŹáá·áș áááșááá·áșááœáČá·á ááșážááŻá¶áá»áŹážáááș áá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻááŒá áșá á±áááŻááșáááșááᯠáá»áœááșáŻááșáááŻá· áĄáá°ážáĄáŹááŻá¶á ááŻááșáá«áááșá ááŻááșáá±áá°áá»áŹážá ááœáČá áŹážáá»áŹážááŸáá·áș á áŹážááŻá¶ážáá°áá»áŹážááŒáŹážááœááș ááŹáááșááœááșážáááșáá áșááŻááŸááááșá áááșáá±á·áá»áșááᯠááœáČá áŹážáá¶ áá±ážáááŻá·ááŒáźážáááșááŸáá·áș áááșáá±á·áá»áșááᯠáááŻá¶ážááŸáŻá¶ážá á±áááșááŸáŹ áááșážááĄááŻááșááŒá áșáááșá ááœáČá áŹážáááș ááŻááșáá±áá°á áááșáá±á·áá»áșáááșáá¶áááŸáááŸáŻááᯠáĄáááĄááŸááșááŒáŻáá±áŹáĄáá«á áá»áœááșáŻááșáááŻá· ááŻá¶ážááŸáŻá¶ážááœáŹážáááá·áșáááșáᯠááá»áŸá±áŹáșááá·áșááŹážáá±á áááŻá·áá±áŹáș áááșáááœáČá áŹážááŸáá·áș ááŻááșáá±áá°ááœáČá·á ááșážááŻá¶áĄáá±á«áșáá°áááșá áááșážáááș áĄááŸááșááááșááŒá áșáá»ááșáááŻááșáááșááᯠáá»áœááșáŻááșáááŻá·ááœá±á·ááá«áááșá
Single Node Resilience Primitives
áá¶áááŻááșáááșááŸááá±áŹ áááșážá áźááŒááșáž/áááșážááŒá±áŹááșážáá±ážááŒááșáž
RabbitMQ ááœááș áááșážá áźááŒááșáž ááŸá áșáá»ááŻážááŸááááș- ááŹááŸááșáá¶ááŒááșážááŸáá·áș ááŹááŸááșáá¶ááŒááșážáááŸááá«á á áźáááșážáĄáŹážááŻá¶ážááᯠMnesia áá±ááŹáá±á·á áșááœááș ááááșážáááșážááŹážáááșá ááŹááŸááșáá¶áá±áŹ áááșážá áźáá»áŹážááᯠnode á áááșáá»áááșááœááș ááŒááșáááșááŒá±áŹáșááŒáŹááŒáźáž ááŒááșáááșá áááșááŒááșážá á áá áșáá»ááșáá»ááŒááșáž áááŻá·áááŻááș ááŹáᏠáá»ááșáá»ááŒááșáž (áá±ááŹáááșáááșáááșááŸááá±áááœá±á·) áááșáááșááŸááșáááșáá±áá«áááșá áááŻáááŻáááșááŸáŹ áááșáááș áááșážááŒá±áŹááșážáááșááŒááșáž (ááČááŸááșááŒááșáž) ááŸáá·áș áááșážá áźááŒááșážááᯠáá¶áááŻááșáááșááŸáá á±áááș ááŒá±ááŒáŹáá±ááá»áŸ ááŹááááșááŻá¶áž áááșážá áźááŒááșáž/áááșážááŒá±áŹááșážáááșááŒááșážáááŻááșáᏠáĄááŒá±áá¶áĄáá±áŹááșáĄáĄáŻá¶áááș áĄáœááșáááŻááșážááœááș ááŒááșáááșáá±áŹááșááŸáááœáŹážáááșááŒá áșáááșá
node ááᯠááŒááșáááșá áááșáá±áŹáĄáá« ááááșááŒáááșáá±áŹ áááșážá áźááŒááșážáá»áŹážááŸáá·áș áááșážááŒá±áŹááșážááᯠáááșááŸáŹážáááșá
ááŒáČáá±áŹá áŹáá»áŹáž
áááșážá áźáá áșááŻáááș ááŹááŸááșáá¶áá±áŹááŒá±áŹáá·áș áááșážááááșáá±á·áá»áșáá»áŹážáĄáŹážááŻá¶ážáááș node ááŒááșáááșá áááșááŒááșážááœááș áĄáááșááŸááșáá±áááșáᯠááááŻáááŻáá«á ááŻááșáá±áá°á០áááșááŸááșááŹážáá±áŹ á áŹáá»áŹážáᏠáá±ááŸááșáááșáá¶á·áá±áŹ (ááźááá)á áĄááŒáČááŸááá±áá±áŹ áááșáá±á·áá»áșáá»áŹážáááș ááœáČá áŹážáĄááœááș áĄáááŻáááșááŻááșáááșáááŻážááᯠáááșááźážáá±ážáá±áŹáșáááșáž áááșáá±á·áá»áșááŻá¶ážááŸáŻá¶ážááŸáŻááᯠáááșáá¶áááŻááșááŒááșážáááŸááá«áá áĄááŒáŹážááœá±ážáá»ááșá ááŹáááŸááá«á

ááááșážá 1. áá±ááŸááșáááșáá¶á·ááŸáŻ áááșááá
áș
áááșážá áźááŒááșáž ááŒáá·áș áĄá áŻáĄáá±áž ááŒáŻááŻááșááŒááșážá
ááœáČá áŹážáá áșáŠážáááŻá¶ážááŸáŻá¶ážááŸáŻáááŻááŸááșáááșáááșá áá»áœááșáŻááșáááŻá·áááș áááșáá±áŹááșážáááŻáĄááșáá«áááșá áá»áœááșáŻááșáááŻá·áááș RabbitMQ node áĄáá»áŹážáĄááŒáŹážááᯠáĄá áŻáĄáá±ážáá áșááŻáĄááŒá áș áá±á«ááșážá ááșáááŻááșááŒáźáž node áĄáá»áŹážáĄááŒáŹážááŒáŹážááœááș áááșážá áźááŒááșážááᯠááœáŹážááŒááșážááŒáá·áș áááșáá±áŹááșážáááșáá±áŹááșážááá·áșáááŻááșáááșá á€áááșážáĄáŹážááŒáá·áșá node áá áșááŻááŸáá»ááșááœááșáá«áá áá»áœááșáŻááșáááŻá·áááș áá±ááŹáááŻá¶ážááŸáŻá¶ážááČ áááșáááșáááŸááááŻááșáááșááŒá áșáááșá
áááșážá áźááŒááșážááᯠááŻá¶áá°áá°ážááŒááșáž-
- áá±ážááŒáźážáááșááá·áș command áĄáŹážááŻá¶ážááᯠáááșáá¶ááá·áș áááșááááșážá áźáá áșáᯠ(ááŹá ááŹ)
- áááșááááșážá áźá០á áŹáá»áŹážááŸáá·áș áááșááŹáá±ááŹáĄáŹážááŻá¶ážááᯠáááșáá¶ááá·áș ááŸááșáá»ááșáá áșáᯠáááŻá·áááŻááș áá áșááŻáááșáááŻáááșá á€ááŒá±ážááŻá¶áá»áŹážáááș áá»áááșááŸááááșáĄááœááș áááŻááșááČ áĄáááșáááșáĄááœááșááŹááŒá áșáááșá

ááááșážá 2. áááșážá
áźááŒáá·áșááŒááșáž
Mirroring ááᯠááá·áșáá»á±áŹáșáá±áŹáá°áá«áááŒáá·áș áááșááŸááșáááșá áááșážááœááșáááșáááș ááœáŹážááááșážááááșážááŸáá·áș áááșážá áźáááșááŸáááá·áșááá·áș ááŻá¶ááŸááșáá»áŹážáááŻáááș ááœá±ážáá»ááșáááŻááșáááșá á„áááŹáá»áŹáž-
ha-mode: allha-mode: exactly, ha-params: 2(ááŹá ááŹáá áșááŻááŸáá·áș ááŸááșáá áșáá»ááș)ha-mode: nodes, ha-params: rabbit@node1, rabbit@node2
ááŻááșáá±áá° áĄáááșááŒáŻáá»ááș
áááááșáááșážáááŻááșáá°ážááŸáŻáĄá±áŹááșááŒááșáááșá ááŻááșáá±áá°áĄáááșááŒáŻáá»ááșáá»áŹáž áááŻáĄááșáááșá áááșážáááŻá·ááá«ááČá áááșáá±á·ááșá»áá»áŹážááŻá¶ážááŸáŻá¶ážáááŻááșááŒá±ááŸááááșá áááșáá±á·áá»áșááᯠáá áșááșáááŻá·áá±ážááŒáźážáá±áŹááș áĄáááșááŒáŻáá»ááșáá áșááŻááᯠááŻááșáá±áá°áá¶ áá±ážáááŻá·áááșá RabbitMQ áááș áááșáá¶áááŸááá»áááșááœááșáááŻááșááČ áá áșááșáááŻá· áááșáá±á·áá»áșáá»áŹážááᯠááźááźá ááčááá·áșáá»áŹážá áœáŹááŸááá±áŹ áá±ááĄááœááșáž áĄáá»áááșáĄáá«áĄáááŻááș áá±ážáá±ážáááșá áááșážá áźááŒááșážááᯠáááșáááșááŒáá±áŹáĄáá«á ááŸááșáá»áŹážáĄáŹážááŻá¶ážáááș áááșážáááŻá·á áááșáá±á·áá»áșá ááááčáá°ááᯠáá áșááșáááŻá· áá±ážááŒáźážááŸáᏠáĄáááĄááŸááșááŒáŻááŸáŻááᯠáá±ážáááŻá·áá«áááșá áááŻáááŻáááșááŸáŹ áĄáááșááŒáŻáá»ááșáá»áŹážááᯠáĄááŻá¶ážááŒáŻááŒááșážááŒáá·áș latency ááᯠáá±á«ááșážááá·áșáá±áŹáșáááșáž áá±ááŹááŻá¶ááŒáŻá¶áá±ážáááș áĄáá±ážááŒáźážáá«á áááșážáááŻá·áááș áááŻáĄááșáá«áááșá
ááŸáŻá¶ážáá°áááșážá áź
ááœáČá áŹážááŸááœááșáááș áááŻá·áááŻááș áá»ááșááœáŹážáá±áŹáĄáá«á ááᯠnode áá±á«áșááŸá áááșážá áźáá±á«ááșážáá±áŹááșáá»áŹáž (ááŹá ááŹ) áá»áŹážáĄáŹážááŻá¶ážáááș áááșážááŸáá·áșáĄáá° áá»ááșá áźážááœáŹážáá«áááșá áááŻá·áá±áŹááș áĄá áŻáĄááœáČá·áááș ááŹá ááŹáá áșááŻá áźá ááŸá±ážáĄáá»ááŻá¶ážááŒá±ážááŻá¶ááᯠááœá±ážáá»ááșááŒáźáž áááșážáĄáŹáž ááŹá ááŹáĄáá áșáĄááŒá áș ááŒáŸáá·áșáááșáá±ážáááșá

ááááșážá 3. ááŻá¶áá°áá°ážááŹážáá±áŹ á
áźáááșážáá»áŹážááŸáá·áș áááșážáááŻá·ááá°áá«ááá»áŹáž
ááœáČá áŹáž á áá±áŹááș áá»ááœáŹážáááșá Broker 3 ááŸá Queue C ááŒá±ážááŻá¶áĄáŹáž áá»áœááșážáá»ááșáĄááá·áșáááŻá· áááŻážááŒáŸáá·áșááŹážááŒá±áŹááșáž áááááŒáŻáá«á Broker 2 ááœááș Queue C áĄááœááș ááŸááșáĄáá áșáá áșááŻááᯠáááșááźážááŹážááŒá±áŹááșážáááșáž áááááŒáŻáá«á RabbitMQ áááș ááá·áșáá°áá«ááá»áŹážááœááș áááșááŸááșááŹážááá·áș áááșáá°ááœáŹážááŸáŻáĄáá»ááșááᯠááááșážááááșážáááș áĄááŒáČááŒááŻážá áŹážáá±áá«áááșá

ááááșážá 4. Broker 3 áááș ááĄá±áŹááșááŒááșáááŒáá·áș áááșážá
áź C ááᯠáá»ááŸáŻá¶ážá
á±áá«áááșá
áá±áŹááș Broker 1 á áá»ááœáŹážáááșá áá»áœááșáá±áŹáșáááŻá·ááŸáŹ ááœáČá áŹážáá áșáá±áŹááșááČ áá»ááșáá±áŹá·áááșá Queue B ááŒá±ážááŻá¶áĄáŹáž ááŹá ááŹáĄááŒá áș áááŻážááŒáŸáá·áșááŹážáááșá

ááŻá¶ - á
áá»áœááșáŻááșáááŻá·áááș ááœáČá áŹáž 1 ááᯠááŒááșáááșáá±ážáĄááșáááŻááșáá«áááșá ááœáČá áŹážá ááŻá¶ážááŸáŻá¶ážááŸáŻááŸáá·áș ááŒááșáááșááá°ááŒááșážáá±ááŹáááș áááșáá»áŸáááș áá±áŹááșážá áœáŹ ááŸááșáááșáá±áá«á á±á ááŒááșáááșá áááșáá»áááșááœááș ááŻá¶áá°áá°ážááŹážáá±áŹ áááșážá áźá áŹáááŻáá»áŹážáĄáŹážááŻá¶ážááᯠá áœáá·áșáá áșáá«áááșá áá±áŹááșáááșááœáČáááŻážáá»ááŻážááœá± ááŒá áșááŹáááŻááșááŹááŒá±áŹáá·áș áááááŹážáááŻá· áĄáá±ážááŒáźážáá«áááșá ááźáááșáá±áŹááșááŸáŻááœá±ááᯠáááŒáŹáááșááŸáŹ ááŒáá·áșáá«áááșá áááŻá·ááŒá±áŹáá·áș Broker 1 áááș áááŻáĄáá« áĄá áŻáĄáá±ážá áĄááœáČá·áááșáĄááŒá áș áá áșáááșááŒá áșááŹááŒáźáž áĄá áŻáĄááœáČá·áááș áá°áá«ááá»áŹážááᯠáááŻááșááŹáááș ááŒááŻážá áŹážáá±áŹááŒá±áŹáá·áș Broker 1 ááœááș ááŸááșáá»áŹážááᯠáááșááźážáá±ážáá«áááșá
á€ááá áčá ááœááșá Broker 1 á ááŻá¶ážááŸáŻá¶ážááŸáŻáááș áá±ááŹááČá·áááŻá·áááș ááŒáźážááœáŹážáááșá áááŻá·ááŒá±áŹáá·áș ááŒá±ážááŻá¶ááŒááșááŹážáá±áŹ Queue B áááș ááŻá¶ážáááŻá¶ážááŸáŻá¶ážááœáŹážáá«áááșá

ááááșážá 6. ááœáČá
áŹáž 1 áááș áááșáá±áŹááșááŸáŻáááŻá· ááŒááșááœáŹážáááșá
Broker 3 áááș áĄáœááșáááŻááșážááœááș ááŒááșáááșáá±áŹááșááŸááá±ááŒáźááŒá áșáá±áŹááŒá±áŹáá·áș áááșážáááŻá·á HA áá°áá«ááá»áŹážááᯠáá»á±áááșá á±áááș A ááŸáá·áș B áááș á áźáááșážááŹážáá±áŹááŒá±ážááŻá¶áá»áŹážááᯠááŒááșáááșáááŸááááșááŒá áșáááșá áááŻáá°ááŹáž áááșááááșážá áźáá»áŹážáĄáŹážááŻá¶ážáááș node áá áșááŻááœááșááŸááá±ááŒáźááŒá áșáááșá áááșážáááș á á¶ááŒáááŻááșáá«á node áá»áŹážááŒáŹážááœááșáááș ááŒáá·áșáá±ááŒááșážáááș áááŻáá±áŹááșážáá«áááșá áá¶ááá±áŹááșážá áœáŹááŒáá·áșá á€áá±ááŹááœááș ááŹá ááŹáá»áŹážááᯠááŒááșáááșáá»áááșááŸááááșáĄááœááș ááœá±ážáá»ááșá ááŹáá»áŹážá áœáŹáááŸááá«á áááșážá áźáááŹáž áááșáá°ááŒáŻááŒááșážááᯠáŠážá áœáŹááŒáá·áșááŸáŻáááș áááŻáĄááșáá±áŹááŒá±áŹáá·áș áá±áŹááșáááŻááșážááœááș á€ááŒáżááŹááᯠááŒááșáááșáááșááŒáá«áááșá

ááááșážá 7. ááœáČá
áŹáž 3 áááș áááșáá±áŹááșááŸáŻáááŻá· ááŒááșááœáŹážáááșá node áá
áșááŻááŸá áááșááááșážá
áźáá»áŹážáĄáŹážááŻá¶ážá
áááŻá·ááŒá±áŹáá·áș áááŻááœááș ááŸááșáá»áŹážáááș áĄáááșáááșááŸáá·áș áĄááŸáŹážáá¶áááŻááșáááșááᯠáááșááČá·áááŻá· áá¶á·áááŻážáá±ážáááșááᯠá áááșáá°ážááŸáááá·áșáááșá áááșážáááș node áá áșááŻáááșážáá»ááŻá·ááœááșážááŸáŻááŒá áșá ááșááœááșáááŸááááŻááșááŸáŻáááŻáá±áá»áŹá á±ááŒáźážáá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻááŸááŹááœááșáá±ážáááșá áá«áá±ááá·áș áá»áœááșáá±áŹáșáááŻá· áááŒáźážáá±ážáá«áá°ážá ááŹááŒá áșáááŻá·ááČáááŻáá±áŹá· áááșááœá±á·ááŸáŹá áááŻááŸáŻááșááœá±ážáá«áááșá
áááșáá°
ááŸááșáĄáá áșáá áșáᯠáááșááźážáá±áŹáĄáá«á áááșáá±á·áá»áșáĄáá áșáá»áŹážáĄáŹážááŻá¶ážáááș á€ááŒá±ážááŻá¶ááŸáá·áș áĄááŒáŹážáááșááá·áșáĄááŹáĄááœááșáááᯠáĄááŒáČáááșážááŻá¶áá°ááœáŹážáá±áááá·áșáááșá ááŹá ááŹáááșážá áźááŸá ááŸáááŒáźážááŹážáá±ááŹáĄááœááșá ááŹá ááŹá ááŒáźážááŒáá·áșá áŻá¶áá±áŹááááčáá°ááŒá áșááŹááá·áș ááŸááșáĄáá áșáá áșááŻáááŻá· áá»áœááșáŻááșáááŻá·á áááșážááᯠáá°ážáá°áááŻááșáá«áááșá ááŸáááŒáźážááŹážá áŹáá»áŹážááᯠááŻá¶áá°ááœáŹážááŒááșážáááŒáŻáááș ááœá±ážáá»ááșáááŻááșááŒáźáž áááșááááșážá áźááŸáá·áș ááŸááșáĄáá áșááᯠáĄáá»áááșááŸáá·áșáĄáá»áŸ ááŻá¶á ááșážáááŻááșá á±áᏠáĄááŒáźážáááŻááșážáááŻá· áááșáá±á·ááșá»áĄáá áșáá»áŹážáá±áŹááșááŸáááŹááŒáźáž ááŸáááŒáźážááŹážáááșáá±á·áá»áșáá»áŹážáááș áááșááááșážá áźááŠážáá±á«ááșážá០ááœááșááœáŹááœáŹážáááșááŒá áșáááșá
á€áááșáá°áá°ážááŒááșážááᯠáĄáááŻáĄáá»á±áŹááș áááŻá·áááŻááș áááŻááșáááŻááșááŻááșáá±áŹááșááŒáźáž áááșážá áźááŒááșážáá°áá«áááᯠáĄááŻá¶ážááŒáŻá á áźáá¶ááá·áșááœáČáá«áááșá á„áááŹáá áșááŻáááŻááŒáá·áșááĄá±áŹááșá
áá»áœááșáŻááșáááŻá·ááœááș ááŻá¶áá°áá°ážááŹážáá±áŹ áááșážá áźááŸá áșááŻááŸááááșá Queue A ááᯠáĄáááŻáĄáá»á±áŹááș á áá·áșááșááŻááșááŹážááŒáźáž Queue B ááᯠáááŻááșáááŻááș á áá·áșááșááŻááșááŹážáááșá á áźáááșážááŸá áșááŻá ááŻá¶ážááœááș áááșáá±á·áá»áșáááșá á±áŹááșáá«ááŸááááșá

ááááșážá 8. ááá°ááźáá±áŹ áááșáá°ááŒáŻááŒááșážááŻááșáá»áŹážááŒáá·áș áááșážá
áźááŸá
áșááŻ
ááᯠáá»áœááșáŻááșáááŻá·áááș Broker 3 ááᯠááŻá¶ážááŸáŻá¶ážáá±áá«áááșá

ááááșážá 9. ááœáČá
áŹáž 3 áá»ááœáŹážáááșá
ááœáČá áŹáž 3 áááș áááșáá±áŹááșááŸáŻáááŻá· ááŒááșááœáŹážáááșá áĄá áŻáĄááœáČá·áááș node áĄáá áșááŸá áááșážá áźáá áșááŻá áźáĄááœááș ááŸááșáá áșáá»ááșááᯠáááșááźážááŒáźáž Queue A áĄáá áșááᯠááŹá ááŹááŸáá·áș áĄáááŻáĄáá»á±áŹááș áááșáá°ááŒáŻáá«áááșá áááŻá·áá±áŹáș Queue B áĄáá áșáááŸááșáááș áááŹááŒá áșáá±áááșá á€áááșážááŒáá·áș áá»áœááșáŻááșáááŻá·ááœááș Queue A ááœááș áĄááŒáá·áșáĄá áááșáá±ááŒáźáž áááșááŸá Queue B áááșáá±á·áá»áșáá»áŹážáĄááœááș ááŸááșáá áșáá»ááșááŹááŸááááșá

ááááșážá 10. Queue A áááŒá±ážááŻá¶ááŸááșáĄáá
áșáááș ááŸáááŒáźážááŹážáááșáá±á·áá»áșáá»áŹážáĄáŹážááŻá¶ážááᯠáááșáá¶áááŸááá±áŹáșáááșáž Queue B áááŒá±ážááŻá¶ááŒááșáĄáá
áșáááș áááŸááá«á
áááșážá áźááŒááșážááŸá áșááŻááŻá¶ážááœááș áá±áŹááșáááșáááșáá±á·áá»áșáááșá á±áŹááș áá±áŹááșááŹáááșá áááŻá·áá±áŹááș Broker 2 áá»ááșááœáŹážááŒáźáž Queue A áááș Broker 1 ááœááșááŸááá±áŹ ááŸá±ážáĄáá»ááŻá¶ážááŸááșáááŻá· ááŒááșááœáŹážáá«áááșá áá»ááșááœáŹážááá·áșáĄáá« áá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻáááŸááá«á Queue B ááœááșá ááŹá ááŹááœááș áááșáá±á·áá»áș ááŸá áșáááșááŸáááŒáźáž ááŸááșááČááœááș áááșá á±áŹááșáᏠááŸááááșá

ááááșážá 11. Queue A áááș áááșáá±á·áá»áșáá»áŹáž áááŻá¶ážááŸáŻá¶ážááČ Broker 1 áááŻá· ááŒááșááœáŹážáá«áááșá
á áźáááșážááŸá áșááŻááŻá¶ážááœááș áá±áŹááșáááș áááșáá±á·áá»áșáááșá á±áŹááș áá±áŹááșááŸáááŹáááșá ááᯠBroker 1 áá»ááșááœáŹážáá«áááșá Queue A áááș áááșáá±á·áá»áșáá»áŹáž áááŻá¶ážááŸáŻá¶ážááČ ááŸááșáááŻá· áĄááœááșááá° ááŒá±áŹááșážááœáŹážáá«áááșá áááŻá·áá±áŹáșáááșáž Queue B ááœááș ááŒáżááŹáá»áŹáž ááŸááá±áááșá á€áĄáá»áááșááœááș áá»áœááșáŻááșáááŻá·áááș ááááŻááșááŸáŻ áááŻá·áááŻááș ááźááœááșááŸáŻááᯠáĄáá±áŹááșážááŻá¶ážááŒá áșáĄá±áŹááș ááŻááșáá±áŹááșáááŻááșáááșá
áá»áœááșáŻááșáááŻá·áááș áĄáá»áŹážáá°ááŸáŹ áĄááŻá¶ážááŒáŻáááŻááșá áœááșážááᯠáĄáá±áŹááșážááŻá¶ážááŒá áșáĄá±áŹááș ááŻááșáá±áŹááșáááŻáá«á áá°áá«áááᯠáá»ááŸááșáá«á ha-promote-on-failure ááœááșáááșáááșááá·áșáááșá áĄááŒáČ. áááșážáááș áá°áááșážáááșáááŻážááŒá áșáá±áŹááŒá±áŹáá·áș áááșáááș áá°áá«áááᯠááŻá¶ážáááááșááŸááșáááŻááșáá«á á€ááá áčá ááœááșá áá»áœááșáŻááșáááŻá·áááș áĄááááĄáŹážááŒáá·áș áá áșááŒááŻááșáááșáááșážáááŻááșáá±áŹááŸááșáá»áŹážááœááș áá»ááŸáŻá¶ážááŸáŻáá»áŹážááᯠááœáá·áșááŒáŻáá«áááșá áááșážáááș áááșáá±á·áá»áșáá»áŹážááᯠááŻá¶ážááŸáŻá¶ážááœáŹážá á±áááá·áșáááșá áááŻá·áá±áŹáș áááșážá áźáááș áááșáááŻááșá áá±ážáááŻááșáá±áŠážáááșááŒá áșáááșá

ááááșážá 12. Queue A áááș áááșáá±á·áá»áșáá»áŹáž áááŻá¶ážááŸáŻá¶ážááČ Broker 3 áááŻá· ááŒááșáááșáá±áŹááșááŸáááœáŹážáá«áááșá Queue B áááș á
áŹááᯠáááșá
á±áŹááș ááŻá¶ážááŸáŻá¶ážááœáŹážáááŒáá·áș Broker 3 áááŻá· ááŒááșááŸáá·áșáááșá
áááșáááșáááŻááșáááșá ha-promote-on-failure áĄááááčáá«ááșáááŻá· when-synced. á€ááá
áčá
ááœááșá ááŸááșáááŻá·ááŒááșááŸáá·áșááá·áșáĄá
áŹážá Broker 1 áááș áááșážááá±ááŹáĄáœááșáááŻááșážááŻááșáááŻá· ááŒááșáááșáá±áŹááșááŸááááșáĄáá áááșážá
áźá
á±áŹáá·áșáááŻááșážáá«áááșá ááŒááșááŹááŒáźážáá±áŹááșá áááșááááșážá
áźáááș áá±ááŹááŻá¶ážááŸáŻá¶ážááŒááșážáááŸáááČ Broker 1 ááœááș ááŒááșáááșáá±áŹááșááŸáááœáŹážáá«áááșá áá±ááŹááŻá¶ááŒáŻá¶áá±ážáĄááœááș áááŸááááŻááșááŸáŻááᯠá
áá±ážáááșá áááŻá·áá±áŹáș áááșážáááș áá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻáááŻáááș ááŒá
áșáá±á«áșá
á±áááŻááșááá·áș áĄááčáááŹááșááŸááá±áŹ ááŻááșáá
áșááŻááŒá
áșááŒáźáž áááŒáŹááź áá»áœááșáŻááșáááŻá·ááŒáá·áșááŸáŻáá«áááșá

ááááșážá 13. Broker 1 áááŻááŻá¶ážááŸáŻá¶ážááŒáźážáá±áŹááș Queue B áááááŻááșáá«á
âáĄáááŻáĄáá»á±áŹááș áááșáá°ááŒáŻááŒááșážááᯠáááșáá±áŹá·á០áááŻá¶ážááŹá áááŻáá±áŹááșážáááŹážâ áááŻá· áá±ážáááŻááșáá«áááșá áĄááŒá±ááŸáŹ synchronization áááș blocking operation ááŒá áșáááșá áááșáá°ááŒáŻááŒááșážááœááșá áááșááááșážá áźáááș áááșááŸáŻááŒááșáž áááŻá·áááŻááș áá±ážááŒááșážáááŻááșáᏠááŻááșáá±áŹááșáá»ááșáá»áŹážááᯠááŻááșáá±áŹááșáááŻááșáááșáááŻááșáá±á
á„áááŹáá áșááŻáááŻááŒáá·áșááĄá±áŹááșá áĄáᯠáá»áœááșáá±áŹáșáááŻá· áááșážá áźáá±áᏠáá±áŹáșáá±áŹáșááŒáŹáá±ááŒáźá ááźáááŻáá»ááŻáž áĄááœááșáá±áŹááșáĄá±áŹááș áááșááᯠááŒáźážááœáŹážáááŻááșáááČá áĄááŒá±áŹááșážáááșážáá»áŹážá áœáŹáĄááœááș-
- áááșážá áźááŒááșážááᯠáááșááŒáœá áœáŹ áĄááŻá¶ážáááŒáŻáá«á
- áááșážáááŻá·áááș ááŒááșááŸáŻááșážááŒáá·áșáááșážá áźáá»áŹážááŒá áșááŒáźáž áááŻáĄáá»áááșááœááș á áŹážááŻá¶ážáá°áá»áŹáž ááŸá±ážááœá±ážáá±áá«áááșá
- áááșážáááș ááŒááșááŸáŻááșážááŒáá·áșáááșážá áźááŸáŻáá»áŹážá áá»áœááșááœááșážáá»ááșáá áșááŻááŸáááČá·ááŒáźáž á áŹážááŻá¶ážáá°áá»áŹážá áááŻááșáááșážáá±ááŒáááșá

ááááșážá 14. ááá°ááźáá±áŹ áááșáá°ááŒáŻááŸáŻááŻááșáá»áŹážááŒáá·áș ááŒáźážááŹážáá±áŹáááșážá
áźááŸá
áșááŻ
áĄáᯠBroker 3 á áá»ááœáŹážáááșá

ááááșážá 15. ááœáČá
áŹáž 3 áááș áááșážá
áźáááŻááșážááœááș ááŹá
ááŹáá
áșááŻá¶ááŸáá·áș ááŸááșáá
áșáá»ááșáá»ááșááŹážáááșá
Broker 3 áááș áĄáœááșáááŻááșážááœááș ááŒááșáááșáá±áŹááșááŸáááŹááŒáźáž ááŸááșáĄáá áșáá»áŹážááᯠáááșááźážááŹážáááșá Main Queue A áááș ááŸáááŒáźážááŹážá áŹáá»áŹážááᯠááŸááșáĄáá áșáááŻá· ááŻá¶áá°áá°ážááŒááșážá áááșááŒáźáž á€ááŹááĄááœááșáž Queue áááááŻááșáá«á áá±ááŹááᯠááŻá¶áá°ááœáŹážáááș ááŸá áșááŹááźááŒáŹááŒáźáž á€áááșážá áźáĄááœááș ááŸá áșááŹááźááŒáŹ áááșááŹážááČá·ááááșá
áááŻá·áá±áŹáșáááșáž Queue B áááș ááŹááá áșáá»áŸá±áŹááșááŻá¶ážááœááș ááŸááá±áá±ážáááșá ááŻá¶ážá áœáČáááŻááșááŸáŻ áĄááœááș áá°ááááș áááŻáĄááșáá»ááșáĄáá»ááŻá·ááᯠá áá±ážááČá·áááșá

ááááșážá 16. á
áá·áșááșááŻááșáá±á
ááșááœááș áááșážá
áźááŒááșážááᯠááááŸááááŻááșáá«á
ááŸá áșááŹááźááŒáŹááŒáźážáá±áŹááșá Queue A áááșážáááŸááááŻááșááŒáźáž á áŹááŒááșáá±ážááŒááșážáá»áŹážááᯠá áááșáááșáá¶áááŻááșáá«áááșá
ááœááșážáá¶
áááșáá°ááŒáŻááŒááșážááœááș á€ááááșáááŻá·ááŒááșážáĄááŒáŻáĄáá°áááș áĄááœááșááŒáźážááŹážáá±áŹ áááșážá
áźáá»áŹážááŒáá·áș áĄá
áŻáĄáá±ážáá»áŹážááᯠáĄááșááááșááŻááșáááș áááșááČá
á±áááșá áá
áșáá»áááșáá»áááșááœááșá ááŹááŹááᯠáĄááá·áșááŒáŸáá·áșáááșáá±áá»áááșááœááș ááŹá
áᏠnode ááᯠááŒááșáááșá
áááșáááș áááŻáĄááșáááșá áááŻáááŻáááșááŸáŹ ááŸááșáá
áșáá»ááșáááŻá· ááŒá±áŹááșážááŒááșáž áááŻá·áááŻááș ááŹááŹááᯠáĄááá·áșááŒáŸáá·áșáááșáá±áá»áááșááœááș áááșážá
áźááŒááșážááᯠááááșááŒááșážááŒá
áșá
á±áááŻááșáááșá áĄáááșá áá»áœááșáŻááșáááŻá·áááș áá°ážááŒá±áŹááșážáááș ááœá±ážáá»ááșáá«áá ááŸááșáá»áŹážááᯠáááșáá°ááŒáŻááŒááșážáááŸááá«á áááșáá±á·áá»áșáá»áŹáž ááŻá¶ážááŸáŻá¶ážáá«áááșá ááŻá¶ááŸááșáĄáŹážááŒáá·áșá ááœáČá
áŹážááŒááșáá±áŹááșáá»áááșááœááșá áá
áșááŒááŻááșáááșáááșážáááŻááșáá±áŹááŸááșáá
áșááŻáááŻá· áá»ááșááœááșááŒááșážááᯠááŻááșáá±áŹááșáááșáááŻááșáá«á áááŻáááŻáááșááŸáŹ ááœáČá
áŹážááŒááșááŹáááșááŸáá·áșáááŒááŻááșáááș áá»áœááșáŻááșáááŻá·áááș áááșááá·áșáááșáá±á·áá»áșá០áááŻá¶ážááŸáŻá¶ážáá«á áá
áșááŻáááșážáá±áŹ áá»ááșá
áźážááŸáŻáááș áááŻážáááŻážáááșážá
áźááŒááșážáááșááŒá
áșáááșá ááœáČá
áŹážáá
áșáŠážááᯠáĄáááșááŒááșááœáŹážáá±áŹáĄáá« áĄááŒáŻáĄáá°áááŻááșáᏠá
ááșážáá»ááșážáá»áŹážááᯠáá°áá«áááŒáá·áș áááșááŸááșáááșá ha-promote-on-shutdown. áááșáááŻážááŸá
áșááŻááČá០áá
áșááŻááᯠáááșáááșááŸááșáááŻááșáááș-
always= áááșáá°ááá»áá±áŹ ááŸááșáá»áŹážááźáááŻá· áá°ážááŒá±áŹááșážááŒááșážááᯠááœáá·áșááŹážáááșáwhen-synced= áá áșááŒááŻááșáááșážááŻááșááŹážááá·áș ááŸááșáá áșáá»ááșáááŻá· áá°ážááŒá±áŹááșážááŒááșážááŹá áááŻááșáá«á áááșážá áźáááș áááșáááá á áŹááá±ážáááŻááșááŒá áșááœáŹážáááșá ááœáČá áŹážááŒááșááŹáááșááŸáá·áșáááŒááŻááșáááș áááșážá áźáááș áááșáá±áŹááșááŸáŻáááŻá· ááŒááșááœáŹážáááșá
áá áșáááșážáááŻááșáá áșáááșážá áááșážá áźááŒáźážáá»áŹážááŒáá·áș áá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻááŸáá·áș ááááŸááááŻááșááŸáŻááŒáŹážááœááș áááșááœá±ážáá»ááșááááșááŒá áșáááșá
áááŸááááŻááșááá·áșáĄáá« áá±ááŹááŻá¶ááŒáŻá¶áá±ážááᯠáááŻáááŻáá±áŹááșážááœááșá á±áááșá
ááŻá¶ážááŒááșáá»ááșááá»ááź á ááșážá áŹážáááá·áș áá±áŹááșáááșááŸáŻááșááœá±ážááŸáŻáá áșááŻááŸááá±ážáááșá áĄáááŻáĄáá»á±áŹááș áááșáá°ááŒáŻááŒááșážáááș áááșáá±áá±áŹáĄááœááș áááŻáá±áŹááșážáá±áŹáșáááșážá áááșážáááș áá±ááŹááŻá¶ááŒáŻá¶áá±ážááᯠáááșáááŻá·áĄáá»ááŻážáááșáá±áŹááșááááșážá ááŻááșáá«áááșá áááŻáááŻáá±áŹááșážááœááșáá±áŹáááșáá°ááŸáŻááŒáá·áș RabbitMQ áááș ááŸáááŒáźážááŹážáááșáá±á·áá»áșáá»áŹážááᯠááŻá¶ážááŸáŻá¶ážáááŻááșááŒá±áááșážáá±áŹáșáááșáž ááŻááșáá±áá°áá»áŹážáá¶á០áááșáá±á·áá»áșáĄáá áșáá»áŹážáá±áŹá
á€áá±ááŹááœááș áĄá±áŹááșáá«áááŻá·ááᯠááá·áșááœááșážá ááșážá áŹážáááș áááŻáĄááșáá«áááșá
- ááŻááșáá±áá°áááș áĄááŸáŹážáá áșááŻááᯠáááŻážáááŻážááŒááșááŒááŒáźáž áĄáááșá áźážááŒá±áŹááșážáááșáá±áŹááșááŸáŻ áááŻá·áááŻááș áĄááŻá¶ážááŒáŻáá°ááᯠáá±áŹááșá០áááșá ááșážááŒáá·áșáááŻááșáá«áááŹážá
- ááŻááșáá±áá°áááș áááșáá±á·áá»áșááᯠá ááșááœááșáž áááŻá·áááŻááș áá±áŹááșá០áááșá ááșážááŒáá·áșáááș áá±ááŹáá±á·á áșááœááș ááááșážáááșážáááŻááșáá«áááŹážá
ááŻááșáá±áá°áááș áááșáá±á·áá»áșáááŻáᏠá áœáá·áșáá áșáááŻááșáá«áá áĄááŸááșááááșááœááș áĄááŻá¶ážááŒáŻáááŻááșá áœááșážááᯠááŒáŸáá·áșáááșááŒááșážáááș áá±ááŹááŻá¶ááŒáŻá¶áá±ážáááŻáááșáž áááŻáááŻáá±áŹááșážááœááșá á±áá«áááșá
áááŻá·ááŒá±áŹáá·áș áá»áááșááœááșáá»áŸáŹááᯠááŸáŹááááșááŒá áșááŒáźáž áĄááŒá±áááș ááźážááŒáŹážáĄááŒá±áĄáá±áá±á«áș áá°áááșáá«áááșá
ha-promote-on-failure=when-synced ááŒáżááŹáá»áŹáž
á áááșáá°áž ha-promote-on-failure= á áá·áșááșááŻááșááŹážáááșá áá»áœááșáŻááșáááŻá·áááș áá áșááŒááŻááșáááșáááșážáááŻááșáá±áŹ ááŸááșáááŻá·ááŒá±áŹááșážááŒááșážááᯠááŹážááźážááŒáźáž áá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻááᯠááŸá±áŹááșááŸáŹážáááŻááșá á±áááșááŒá áșáááșá áááșážá áźáááș ááááșá áááŻá·áááŻááș á áŹáá±ážááááá«á áááșážáĄá áŹážá áá»áœááșáŻááșáááŻá·áááș áá»ááșá áźážááœáŹážáá±áŹ ááœáČá áŹážááᯠáááșážááá±ááŹááᯠááááŻáĄáááŻááșáž ááŒááșáááșááá°áááș ááŒááŻážá áŹážááŒáźáž áááșážáááș áá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻáááŸáááČ ááŹá ááŹáá áșáŠážáĄááŒá áș ááŒááșáááșááŻááșáá±áŹááșáááŻááșá á±áááș ááŒááŻážá áŹážáá«áááșá
áá«áá±ááá·áș (áá«áááŒáźážáá±ááá·áș) ááœáČá áŹážá áá°á·áá±ááŹááœá± áá»á±áŹááșááœáŹážáááșá áá«áááŻá·ááŸáŹ ááŒáżááŹááŒáźážáá áșááŻááŸááááșá áááșážá áźáᏠáá»á±áŹááșááœáŹážáááșá áá±ááŹáĄáŹážááŻá¶áž áá»ááșááœáŹážáá«ááŒáźá ááá·áșááœááș áĄááá áááșážá áźáá±áá±áŹ ááŸááșáá»ááșáá»áŹáž ááŸááá»áŸááșáááș áááŻááŸááșáá»áŹážááᯠááœáŸáá·áșáá áșáááșá
áĄáááșáá° node áá áșááŻááᯠááŒááșáááșááá·áșááœááșážáááșá ááŻá¶ážááŸáŻá¶ážááœáŹážáá±áŹ node ááᯠáá±á·áá áșáááș áĄá áŻáĄááœáČá·áĄáŹáž áá»áœááșáŻááșáááŻá· ááŒá±áŹáááș (áĄáááá·áșáá±áŹáșááŒáá·áș rabbitmqctl áá±á·_cluster_node) áá°ááźáá±áŹ hostname ááŒáá·áș ááœáČá áŹážáĄáá áșááᯠá áááșáá«á cluster áááș áá»á±áŹááșááŻá¶ážááœáŹážáá±áŹ node ááᯠááŸááșáááá±áá»áááșááœááșá áááșážáááș áááșážá áźáá±áŹááșážááŸáá·áș áááșáá°ááá»áá±áŹ ááŸááșáá»áŹážááᯠááŸááșáááááșá áááááČá· node áá áșááŻááᯠáá±á·áááș áĄá áŻáĄááœáČá·áá áșááŻáĄáŹáž ááŒá±áŹáá±áŹáĄáá«á áááŻáááșážá áźáááŻáááșáž áá±á·ááœáŹážáá«áááșá áĄááŻáá±áŹá· áĄáČáá«ááᯠááŒááșááŒáźáž ááŒá±ááŒáŹááááșá áá»áœááșáŻááșáááŻá·ááœááș áá±ááŹáá áșá áááșáá áșáááŻááșážáá«ááŸááá±áŹ ááŸááșáá»áŹážáá«ááŸááá±áŹáșáááșáž áá±ááŹáĄáŹážááŻá¶áž ááŻá¶ážááŸáŻá¶ážááœáŹážááČá·áááșá áá áșááŒááŻááșáááșáááșážáááŻááșáá±áŹááŸááșáááŻá·ááŒá±áŹááșážááŒááșážáááș áááŻáá±áŹááșážáááá·áșáááșá
áááŻá·ááŒá±áŹáá·áș, manual synchronization (ááŸáá·áș synchronize áá»ááșááœááș) ááŸáá·áșáĄáá°áá±á«ááșážá
ááș ha-promote-on-failure=when-syncedáá»áœááșáá±áŹá·áșáĄááŒááșáĄááá±áŹá· áá±áŹáșáá±áŹáșáá±áž áĄááčáááŹááșáá»áŹážáá«áááșá áá±ááŹááŻá¶ááŒáŻá¶áá±ážáĄááœááș á€ááœá±ážáá»ááșááŸáŻáááș ááŸáááŒá±áŹááșáž Docs áááŒá±áŹáá±áŹáșáááșáž áááșážáááș ááŸá
áșáááșáá±áŹááŹážááŒá
áșáááșá
Master rebalancing
áááááŒáŻááŹážááá·áșáĄáááŻááșážá áá»áœááșáŻááșáááŻá·áááș node áá áșáᯠáááŻá·áááŻááș áĄáá»áŹážáĄááŒáŹážááœááș ááŹá ááŹáĄáŹážááŻá¶ážááᯠá áŻá ááșážááŸáŻááŒáżááŹáááŻá· ááŒááșááœáŹážáá«áááșá ááŸááá·áșáá±áá±áŹ áĄá áŻáĄáá±áž áĄááșááááșááŒá±áŹáá·áșáááș áááșážáááș ááŒá áșáá±á«áșááŹáááŻááșáááșá ááŻá¶ážááŻ-node áĄá áŻáĄáá±ážááœááșá ááŹá ááŹáááșážá áźáá»áŹážáĄáŹážááŻá¶ážáááș node áá áșáᯠáááŻá·áááŻááș ááŸá áșááŻááœááș á áŻááŻá¶áá±áááá·áșáááșá
Rebalancing masters áá»áŹážáááș áĄááŒá±áŹááșážáááșážááŸá áșááŻááŒá±áŹáá·áș ááŒáżááŹááŸááááŻááșáááș-
- ááŒááșáááșáá»áááșááŸááááș áá±áŹááșážááœááșáá±áŹááááááŹáá»áŹáž áááŸááá«á
- áááșážá áźááŒááșážááᯠáááșáá°ááŒáŻááŒááșáž
ááŒááșáááșáá»áááșááŸááááș áááááĄááœáČá·áĄá ááșážáá áșáᯠááŸááá«áááșá áááŹážáááș áá¶á·áááŻážááŹážááŒááșáž áááŸááá«á RabbitMQ áááșá áœáČááŸá Third Party Plugins áá»áŹážáĄááŒá±áŹááșáž : âááááșáĄááșáááș áá±áŹááșáááșááœáČá·á ááșážááŻá¶ááŸáá·áș áĄá áźáááșáá¶ááŒááșážááááááŹáĄáá»ááŻá·ááᯠáá¶á·áááŻážáá±ážáá±áŹáșáááșáž RabbitMQ áĄááœáČá·á០áá¶á·áááŻážáá±ážááŒááșáž áááŻá·áááŻááș á á áșáá±ážááŒááșážáááŒáŻáá«á áááŻáá·áșáĄááčáááŹááșáááŻááșááŻá¶ážáá«á"
HA áá°áá«ááá»áŹážááŸáá áșááá·áș áááșááááșážá áźááᯠááœáŸá±á·áááș áá±áŹááșáááșááŸáá·áșááœááșáá áșááŻááŸááááșá áááșá áœáČá áŹáĄáŻááșááœááșáá±áŹáșááŒááŹážáááșá ááźáĄááœááșá áááșážáááș á€ááČá·áááŻá· ááŻááșáá±áŹááșáááș-
- áááșááŸá HA áá°áá«ááááș áááŻáááŻáŠážá áŹážáá±ážáá±áŹ ááŹááźáá°áá«áááᯠáĄááŻá¶ážááŒáŻá ááŸááșáá»áŹážáĄáŹážááŻá¶ážááᯠáááșááŸáŹážáááșá
- node ááŻááșááᯠáĄááŻá¶ážááŒáŻáááș ááŹááź HA áá±á«áșáá áźááᯠááŒá±áŹááșážááŒáźážá ááŹá ááŹáááșážá áźááᯠááœáŸáČááŒá±áŹááșážááá·áșááá·áș ááŻááșááᯠáááșááŸááșááŒááșážá
- push migration áĄááœááș áááșážá áźáááŹážááᯠá áá·áșááșááŻááșáááșá
- ááœáŸá±á·ááŒá±áŹááșážááŒááșážááŒáźážáá«áá ááŹááźáá°áá«áááᯠáá»ááșáá«á áááŠáž HA áá°áá«ááááș áĄáááșáááșáááșááŒá áșááŒáźáž áááŻáĄááșáá±áŹ ááŸááșáá»ááșáĄáá±áĄááœááșááᯠáááșááźážááŹážáááșá
áĄáŹážáááșážáá»ááșááŸáŹ ááá·áșááœááș ááŒáźážááŹážáá±áŹáááșážá áźááŒááșáž áááŻá·áááŻááș áááșážáá»ááșáá±áŹ áááșáá±áá±áŹáááŻáĄááșáá»ááșáá»áŹážááŸááá»áŸááș á€áááșážáááșážáááș áĄááŻááșáááŒá áșáááŻááșáá«á
ááᯠRabbitMQ áĄá áŻáĄáá±ážáá»áŹážáááș network partitions áá»áŹážááŸáá·áș áááșáááŻá·áĄááŻááșááŻááșáááșááᯠááŒáá·áșááŒáá«á ááŻá·á
áá»áááșáááșááŸáŻáá»á±áŹááșááŻá¶ážááŒááșážá
ááŒáá·áșáá±ááá·áșá áá áșá ááŻá¶ááŸááșáá»áŹážááᯠááœááșáááșááá·áșááșáá»áŹážááŒáá·áș áá»áááșáááșááŹážááŒáźáž ááœááșáááșááá·áșááșáá»áŹáž áá»áááșáááșáááŻááșáᏠáĄáááșáĄááœááșááŒááșááœáŹážáááșááŒá áșáááșá ááŒááșáá±áŹááșááŸáŻáĄááŒáááșáá±áááș áá±áááœááșáž áĄááŒá±áá¶áĄáá±áŹááșáĄáĄáŻá¶ áááŻá·áááŻááș ááœá±ážáá»ááșááŹážáá±áŹ cloud á ááŻá¶ááŒááșá áááșáá»áááŸáŻáĄáá±á«áș áá°áááșáááșá áááșáááŻá·áááșáááŻá á±ááŹáá° ááŒáá·áșáá±ááŸáŻá áá áșáá»áŹážáááș áááșážáááŻá·ááᯠááááșážáá»á±áŹááșážáááŻááșááááșááŒá áșáááșá áá áșáááș áá»áœááșáŻááșáááŻá·ááœááș áááŸááááŻááșááŸáŻááŸáá·áș ááźááœááșááŸáŻáĄááŒáŹáž ááœá±ážáá»ááșá ááŹáá áșááŻááŸááááșá áááŻá·áĄááŒááș ááááșážáá±áŹááșážááŸáŹ RabbitMQ áááș ááœá±ážáá»ááșá ááŹááŸá áșááŻááŻá¶ážááᯠáá±ážáá±áŹááșáááș (áá áșáá»áááșáááșážáááŻááș)á
RabbitMQ ááŒáá·áș áá»áœááșáŻááșáááŻá·ááœááș áĄáááááœá±ážáá»ááșá ááŹááŸá áșááŻááŸááááșá
- ááŻááčáá áááŻááșážááŒáŹážááŒááșáž (split-bin) ááᯠááœáá·áșááŒáŻáá«á áááșážáááș áááŸááááŻááșááŸáŻááᯠáá±áá»áŹá á±áá±áŹáșáááșáž áá±ááŹááŻá¶ážááŸáŻá¶ážááŸáŻ ááŒá áșá á±áááŻááșáááșá
- ááŻááčááááœáČááŒáŹážááŸáŻááᯠááááșáá«á client áá»áŹáž áĄá áŻáĄáá±ážáááŻá· áá»áááșáááșááŻá¶áá±á«áșáá°áááșá áááŸááááŻááșááŸáŻáá±ááᯠááŻá¶ážááŸáŻá¶ážááœáŹážáááŻááșáááșá ááŸá áșááŻ-node áĄá áŻáĄáá±ážááœááș ááŒáźážááŒáá·áșá áŻá¶áá±áŹ ááááŸááááŻááșááŸáŻáááŻáááșáž ááŒá áșáá±á«áșá á±áááŻááșáááșá
áááŻá·áá±áŹáș ááŻááčáááá±á ááœáČááŒáŹážááŒááșážáááŻáááșááŸáŹ áĄáááșáááșážá ááœááșáááșáá»áááșáááșááŸáŻáá»áŹáž ááŻá¶ážááŸáŻá¶ážááœáŹážááŒááșážááŒá±áŹáá·áș áĄá áŻáĄááœáČá·áá áșááŻáááș ááŸá áșáááŻááșážááœáČááœáŹážááá·áșáĄáá«ááŒá áșáááșá áá áșáááșá áźááœááșá ááŸááșáá»áŹážááᯠááááșáĄááŒá áșáááŻá· áááŻážááŒáŸáá·áșááŹážáá±áŹááŒá±áŹáá·áș áá±áŹááșááŻá¶ážááœááș áá áșááŸáá·áșá áź ááááșáá»áŹážá áœáŹ ááŸáááŹáááșááŒá áșáááșá

ááááșážá 17. áááșááááșážá
áźááŒááșáž ááŸáá·áș ááŸááșááŸá
áșáá»ááșá áá
áșááŻá
áźáááș ááźážááŒáŹáž node áá
áșááŻáá±á«áșááœááș ááŒá
áșáááșá áááŻá·áá±áŹááș ááœááșáááș áá»ááŻá·ááœááșážááŸáŻ ááŒá
áșáá±á«áșááŒáźáž ááŸááșáá
áșáá»ááș ááœáČááœáŹážáá«áááșá ááœáČááŹážáá±áŹ ááŻááșáááș áĄááŒáŹážááŸá
áșáᯠááŒáŻááșáá»ááœáŹážáááșááᯠááŒááșááŒáźáž áááșážáááŒá±ážááŻá¶áá»áŹážááᯠááŹá
ááŹáá¶ ááŒáŸáá·áșáááșáá±ážáááșá ááᯠáá»áœááșáŻááșáááŻá·ááœááș á
áŹáá±ážáááŻááșáá±áŹ ááŸáá·áș áááșáááŻááșáá±áŹ áááșááááșážá
áźááŸá
áșááŻááŸááááșá
ááŻááșáá±áá°áá»áŹážáááș ááŹá ááŹááŸá áșáŠážá ááŻá¶ážáá¶ áá±ááŹáá±ážáááŻá·áá«áá áá»áœááșáŻááșáááŻá·áááș ááœáČááŒáŹážáá±áŹ áááșážá áźááŒááșážá ááááčáá°ááŸá áșá á±áŹááșááŒáá·áș áĄááŻá¶ážáááșáá«áááșá
RabbitMQ á ááá°ááźáá±áŹááŻááșáá»áŹážáááș áááŸááááŻááșááŸáŻ áááŻá·áááŻááș áááŻááșáá»á±áŹááźááœá±ááŒá áșá á±áááșá
áá»á áșáá»á°ááŸáŻááŻááș (áá°á)
á€ááŻááșáááș áááșáá±áŹááșáááŻááșááŸáŻááᯠáá±áá»áŹá á±áááșá áá»áááșáááșááŸáŻ ááŻá¶ážááŸáŻá¶ážááŒáźážáá±áŹááșá ááŻááčáááááșážááŒáá·áș ááœáČááœááșááŒááșáž ááŒá áșáá±á«áșáááșá áá»áááșáááșááŸáŻááᯠááŒááșáááșááá°ááŒáźážáá±áŹááșá á áźáá¶ááá·áșááœáČáá°á áááșááá·áșáĄáááŻááșážááᯠáŠážá áŹážáá±ážááááșááᯠááŻá¶ážááŒááșááá«áááșá ááŻá¶ážááŸáŻá¶ážááá·áșáááșááŒááșážááᯠááŒááșáááșá áááșáááșááŒá áșááŒáźáž áááŻáááșááŒááșážááŸá á áŻáá±áŹááșážááŹážáá±áŹáá±ááŹáĄáŹážááŻá¶áž ááŻá¶ážááŸáŻá¶ážááœáŹážáááșááŒá áșáááșá

ááááșážá 18. ááŒá±ááŹáá°ááŻá¶ážáŠážáááș ááœáČá
áŹážááŻá¶ážáŠážááŸáá·áș áááșá
ááșáá±áááșá áĄááœááșážáááŻááșážá áĄá
áŻáĄááœáČá·áááș áá±áŹááșážáááŻáá»ááșáĄáŹážááŻá¶ážááᯠBroker 2 ááŸá áááșááááșážá
áźáááŻá· áááșážááŒá±áŹááșážáá±ážáááșá
ááᯠáá»áœááșáŻááșáááŻá·áááș ááœáČá áŹáž 3 ááᯠááŻá¶ážááŸáŻá¶ážáá±ááááșá áĄááŒáŹážááœáČá áŹážáá»áŹáž ááŒáŻááșáá»ááŒáźáž áá°á·ááŸááșááᯠááááșáá¶ ááŒáŸáá·áșáááșáááșááᯠáá°ááŒááșáááșá á€áááșááŸáŹ ááŻááčáááááșážááŒáá·áș ááœáČááœááșááŒááșáž ááŒá áșáá±á«áșááŹááŻá¶á

ááááșážá 19. Logical division (áŠážááŸá±áŹááșááœáČ)á ááŸááșáááșážáá»áŹážáááș áááșááááșážá
áźááŸá
áșááŻáááŻá· áá±áŹááșááœáŹážááŒáźáž ááááčáá°ááŸá
áșá
á±áŹááș ááœáČááŒáŹážááœáŹážáá«áááșá
áá»áááșáááșááŸáŻááᯠááŒááșáááșáááŸááá±áŹáșáááșáž áá»ááŻážááŒá±áŹááșážááźáá»á±áŹáșá áœáŹ ááœáČááŒáŹážááŹážááČááŒá áșáááșá á áźáá¶ááá·áșááœáČáá°áááș ááŸáŻá¶ážáááá·áșááá·áșáááșáááŻá· áááŻááșáááŻááșááœá±ážáá»ááșááááșááŒá áșáááșá áĄá±áŹááșáá±áŹáșááŒáá«ááá áčá ááœááșá á áźáá¶ááá·áșááœáČáá°á Broker 3 ááᯠááŒááșáááșá áááșáááșá áá°áá±ážáááŻá·áááș áá áźáá¶ááŹážáá±áŹ á áŹáá»áŹážáĄáŹážááŻá¶áž ááŻá¶ážááŸáŻá¶ážááœáŹážáá«áááșá

ááááșážá 20. á
áźáá¶ááá·áșááœáČáá°á Broker 3 ááᯠááááșáááșá

ááááșážá 21. áĄááșááááșáááș Broker 3 ááᯠá
áááșááŒáźáž áááșážáááș áĄá
áŻáĄáá±ážááœááș áá«áááșááŒáźáž áááŻáá±ááŹááœááș áá»ááșáá
áșááČá·ááá·áș á
áŹáá»áŹážáĄáŹážááŻá¶ážááᯠááŻá¶ážááŸáŻá¶ážááœáŹážá
á±áááșá
áá»áááșáááșááŸáŻ áá»á±áŹááșááŻá¶ážáá±áá»áááșááŸáá·áș ááŒááșáááșáá°áá±áŹááșááŒáźážáá±áŹááșááœááșá áĄá áŻáĄáá±ážááŸáá·áș á€áááșážá áźáááș á áŹáááșááŒááșážááŸáá·áș á áŹáá±ážááŒááșážáĄááœááș ááááŻááșáá«áááșá
Autoheal ááŻááș
ááœáČááŒááșážááŸáá·áș áá»áááșáááșááŸáŻááᯠááŒááșáááșááá°ááŒáźážáá±áŹááș áĄá áŻáĄááœáČá·áááŻááșáááŻááșá ááŻá¶ážááŸáŻá¶ážááœáŹážááá·áșáááșáĄáŹáž áĄáááŻáĄáá»á±áŹááș ááœá±ážáá»ááșáá±ážááá·áș ááŸááœáČá áá»á áșáá»á°ááŸáŻááŻááșááŸáá·áș áĄááŹážáá°ááŻááșáá±áŹááșáááșá ááŻá¶ážááŸáŻá¶ážááá·áșáááșá០ááœááșáááșáááș áĄá áŻáĄáá±ážáááŻá· ááŒááșááœáŹážáᏠáááșážá áźáááș áááŻáááșáááŻá·áᏠáá±ážáááŻá·ááŹážááá·áș áááșáá±á·áá»áșáĄáŹážááŻá¶ážááᯠááŻá¶ážááŸáŻá¶ážááœáŹážáááșááŒá áșáááșá
áá°áááșážá áŻááŻááșááᯠáááááșáá«á
áĄáááșá áá»áœááșáŻááșáááŻá·áááș ááŻááčáááááșážáá»áá» áĄáááŻááșážááœáČááŒááșážááᯠááœáá·áșáááŒáŻáááŻáá«áá áĄá áŻáááŻááșáĄáááŻááșážáááŻááșááŒáźážáá±áŹááș áá±ážáááșáá±áŹáááșááŒááșážááœááș áááșááŸáŻááŒááșážááŸáá·áș áá±ážááŒááșážáá»áŹážááᯠá áœáá·áșáá áșáááș áá»áœááșáŻááșáááŻá·á áá áșááŻáááșážáá±áŹ ááœá±ážáá»ááșááœáá·áșááŸáŹ ááŒá áșáááșá ááœáČá áŹážá áááșážáááș áá±ážáááșááá·áșáááșááœááș ááŸááá±áááșááᯠááŒááșáá±áŹáĄáá«á áááșážáááș áááșááŸááá»áááșáááșááŸáŻáá»áŹážáĄáŹážááŻá¶ážááᯠááááșááŒáźáž áĄáá áșáá»áŹážááᯠááŒááșážáááŻáááșá áá áșá ááčááá·áșáá»áŸááș áá áșááŒáááș áááșážáááș áá»áááșáááșááŸáŻááᯠááŒááșáááșááá°áááș á á áșáá±ážáááșá áá»áááșáááșááŸáŻááᯠááŒááșáááșááá°ááŒáźážáááșááŸáá·áș áááșážáááș áááșáááșááŸáŻááᯠááŒááșáááșá áááșááŒáźáž áĄá áŻáĄáá±ážááœááș áá«áááșáá«áááșá

ááááșážá 22. ááŒá±ááŹáá°ááŻá¶ážáŠážáááș ááœáČá
áŹážááŻá¶ážáŠážááŸáá·áș áááșá
ááșáá±áááșá áĄááœááșážáááŻááșážá áĄá
áŻáĄááœáČá·áááș áá±áŹááșážáááŻáá»ááșáĄáŹážááŻá¶ážááᯠBroker 2 ááŸá áááșááááșážá
áźáááŻá· áááșážááŒá±áŹááșážáá±ážáááșá
áááŻá·áá±áŹááș ááœáČá áŹáž 1 ááŸáá·áș 2 áááș ááœáČá áŹáž 3 á០ááœáČááœááșááœáŹážáááșá áááșážáááŻá·á ááŒá±ážááŻá¶ááᯠááááșáĄááŒá áș ááŒáŸáá·áșáááșááá·áșáĄá áŹáž Broker 3 áááș áááșáááŻááșážááŒáźáž áááááŻááșáá±áŹá·áá«á

ááááșážá 23. ááœáČá
áŹáž 3 áááș áá±ááčááááșáááșá áá±áŹááșáááșáá»áŹážáĄáŹážááŻá¶ážááᯠáá»áááșáááșááŸáŻááŒáŻááșááŒáźáž áá»áááșáááșááŸáŻáá±áŹááșážáááŻááŸáŻáá»áŹážááᯠááŒááșážáááșáááșá
áá»áááșáááșááŸáŻááᯠááŒááșáááșááá°ááŒáźážáááșááŸáá·áș áááșážáááș áĄá áŻáĄáá±ážáááŻá· ááŒááșááœáŹážáááșá
Broker 3 ááœááș áĄááááááșážá áźáá±ááá·áș áĄááŒáŹážá„áááŹááᯠááŒáá·áșááŒáá«á ááŻá·á

ááááșážá 24. Broker 3 ááœááș áĄááááááșážá
áźáááșá
áĄáČááźáĄáá«ááŸáŹ áá°ááźááČá· áá»áááșáááșááŸáŻ áá»á±áŹááșááŻá¶ážááŸáŻ ááŒá áșáá±á«áșáá«áááșá ááœáČá áŹáž 3 áááș áá±ážáááșááá·áșáááșááœááș ááŸááá±áá±áŹááŒá±áŹáá·áș áá±ááčááááșáááșá áĄááŒáŹážáá áșáááșááœááșá Broker 3 ááŒáŻááșáá»ááœáŹážáááșááᯠnode áá»áŹážáááŒááșááá±áŹááŒá±áŹáá·áș Brokers 1 ááŸáá·áș 2 á០mirror áĄáá±áŹááșážáá»áŹážááᯠmaster áĄááŒá áșáááŻá·áááŻážááŒáŸáá·áșááŹážáááșá

ááááșážá 25. Broker 2 ááᯠááááŸááááŻááșáá«á Broker 3 áááŻá· áá°ážááŒá±áŹááșážááŒááșážá
áá»áááșáááșááŸáŻááᯠááŒááșáááșááá°áá±áŹáĄáá«á Broker 3 áááș áĄá áŻáĄáá±ážááœááș áá«áááșáá«áááșá

ááááșážá 26. áĄá
áŻáĄáá±ážáááș ááŻá¶ááŸááșáááșáááșááŸáŻáááŻá· ááŒááșááœáŹážáá«ááŒáźá
á€áá±ááŹááœááș ááŹážáááșáááș áĄáá±ážááŒáźážáá±áŹáĄáá»ááșááŸáŹ áá»áœááșáŻááșáááŻá·áááș ááźááœááșááŸáŻáááŸááááșá áááŻá·áá±áŹáș áá»áœááșáŻááșáááŻá·áááșáááșáž áááŸááááŻááșááŸáŻá áá»áŸááș áá»áœááșáŻááșáááŻá·áááș áááčááĄáá»áŹážá áŻáááŻá· áá±áŹááșáááșáá»áŹážááᯠáĄá±áŹááșááŒááșá áœáŹ ááœáŸáČááŒá±áŹááșážáá±ážáá«áááșá áĄááŒá±áĄáá±áĄáá»áŹážá áŻáĄááœááșá áá»áœááșáŻááșáááș Pause Minority ááŻááșááᯠáááŻááșáááŻááșáááŻááșáá» ááœá±ážáá»ááșáááșááŒá áșááŒáźážá áááŻá·áá±áŹáș áááșážáááș áá áșáŠážáá»ááșážááá áčá áá±á«áșáá°áááșáá«áááșá
áááŸááááŻááșááŸáŻáá±áá»áŹá á±áááșá client áá»áŹážáááș host áááŻá· áĄá±áŹááșááŒááșá áœáŹáá»áááșáááșááŒá±áŹááșážáá±áá»áŹá á±áááșáĄáá±ážááŒáźážáá«áááșá áá»áœááșáŻááșáááŻá·áááœá±ážáá»ááșááŸáŻáá»áŹážááᯠááŒáá·áșááŒáá«á ááŻá·á
Customer áá»áááșáááșááŸáŻááᯠáá±áá»áŹá á±ááŒááșážá
áá»áááșáááșááŸáŻ ááŻá¶ážááŸáŻá¶ážááŒáźážáá±áŹááș ááŻá¶ážá áœáČáá°áá»áŹážáĄáŹáž áĄá áŻáĄáá±ážá áááșááĄá áááșáĄáááŻááșážáááŻá· ááœáŸááșááŒáááș áááŻá·áááŻááș ááŻááșáá±áŹááșáá±áá±áŹ ááŻá¶ááŸááșáá»áŹáž (node ââáá áșááŻáá»ááșááœáŹážááŒáźážáá±áŹááș) áĄááœááș ááœá±ážáá»ááșá ááŹáá»áŹážá áœáŹááŸááááșá ááááŠážá áœáŹá áááșááŸááșááŹážáá±áŹ áááșážá áźááŒááșážááᯠááźážááŒáŹáž node áá áșááŻáá±á«áșááœááș áááșáá¶ááŹážááŒá±áŹááșážá áááŻá·áá±áŹáș áááșážááŒá±áŹááșážááŸáá·áș áá°áá«ááá»áŹážááᯠnode áá»áŹážáĄáŹážááŻá¶ážááœááș áááșáá°ááœáŹážááŹážááŒá±áŹááșáž ááááááŒáá«á ááŻá·á áá±áŹááșáááșáá»áŹážáááș áááșááá·áș node ááŸáá·áșáááᯠáá»áááșáááșáááŻááșááŒáźáž áĄááœááșážáááŻááșážáááșážááŒá±áŹááșážá áááșážáááŻá·ááœáŹážáááŻááá·áșáá±ááŹááᯠááœáŸááșáá±ážáááșááŒá áșáááșá áááŻá·áá±áŹáș node áá áșááŻáĄáŹáž áááŻááșážáá¶á·ááŹážááá·áșáĄáá« áááșážáááș áá»áááșáááșááŸáŻáá»áŹážááᯠááŒááșážáááșáááșá áááŻá·ááŒá±áŹáá·áș client áá»áŹážáááș áĄááŒáŹáž node áááŻá· áá»áááșáááșááááșááŒá áșáááșá áĄáááșá node ááŒáŻááșáá»áá«áá áá°ááŻááșáááŻááșáááșááŸáŹ áĄáááșážáááșááŹááŸááááșá
áá»áœááșáŻááșáááŻá·áááœá±ážáá»ááșááŸáŻáá»áŹáž-
- áĄá áŻáĄáá±ážááᯠnode áá»áŹážááŸáá áșááá·áș áááŻážáááŻážáááșáááșááá·áș load balancer áááŻáĄááŻá¶ážááŒáŻá áĄá áŻáĄáá±ážááᯠáááșáá±áŹááșááŒáźáž áĄá±áŹááșááŒááșáááșáĄáá áá»áááșáááșááŸáŻáá»áŹáž áááșáá¶ááŒááŻážá áŹážáá«á áĄáááșá node áá áșáᯠáá»ááșáá±áááș áááŻá·áááŻááș áááŻááșážáá¶á·ááŹážáá»áŸááș ááᯠnode áááŻá· áá»áááșáááșáááș ááŒááŻážáááșážááŸáŻáá»áŹáž ááĄá±áŹááșááŒááșáá±áŹáșáááșáž áá±áŹááșáááșááœáČ ááŒááŻážáááșážááŸáŻáá»áŹážáááș áĄááŒáŹážááŹááŹáá»áŹážáááŻá· áá±áŹááșááœáŹážáááá·áșáááș ( round-robin ááŻá¶á á¶) á áááșážáááș áá±áááŻáááșááœááșááŸáŻ ááŻá¶ážááŸáŻá¶ážááŒááșáž áááŻá·áááŻááș áĄááŒááșááŒááșáá°ááŹááá·áș ááŹáᏠáá»ááșááœáŹážááŒááșážáĄááœááș ááá·áșáá»á±áŹáșáááșá
- load balancer ááŸáááá·áș áĄá áŻáĄáá±ážááᯠáááșáá±áŹááșááŒáźáž áááŻááșážáá¶á·ááŹážáá±áŹ/ááĄá±áŹááșááŒááșáá±áŹ ááŻá¶ááŸááșáá»áŹážááᯠáááșážáááŻá· ááœá±á·ááŸááááșááŸáá·áșáááŒááŻááșáááș á áŹáááșážá០áááșááŸáŹážáá«á áĄáááșá áá»áœááșáŻááșáááŻá·áááș áááșážááᯠáá»ááșááŒááșá áœáŹááŻááșáá±áŹááșááŒáźáž áá±áŹááșáááșáá»áŹážáááș áá»áááșáááșááŸáŻááᯠááŒááșáááșááŒááŻážá áŹážáááŻááșáá«áá áá»áœááșáŻááșáááŻá·áááș áĄáááșáááŒááșáááŸááááŻááșááŸáŻááᯠáááŸááááșááŒá áșáááșá
- ááááŻááșážááá·áșáá áșáŠážá áźáĄáŹáž node áá»áŹážáĄáŹážááŻá¶ážáá áŹáááșážáá áșááŻáá±ážá client áááș áá»áááșáááșááá·áșáĄáá« áááșážáááŻá·ááČá០áá áșááŻááᯠáá»áááșážááœá±ážáá»ááșáááșá áá»áááșáááșáááș ááŒááŻážáááșážááŹááœááș áĄááŸáŹážáĄááœááșážáá áșáᯠáááŸááá«á áááșážáááș áá»áááșáááșáááșáĄáá á áŹáááșážááŸá áá±áŹááș node áááŻá· ááœáŸá±á·áááșá
- DNS ááᯠáĄááŻá¶ážááŒáŻá ááĄá±áŹááșááŒááșáá±áŹ/áááŻááșážáá¶á·ááŹážáá±áŹ node á០áááșážááŒá±áŹááșážáá»áŹážááᯠáááșááŸáŹážáá«á áááșážáááș TTL áĄáá±ážááᯠáĄááŻá¶ážááŒáŻá ááŻááșáá±áŹááșáááșá
ááœá±á·ááŸááá»ááșáá»áŹáž
RabbitMQ áĄá áŻáĄáá±ážááœááș áááșážá áĄáŹážááŹáá»ááșáá»áŹážááŸáá·áș áĄáŹážáááșážáá»ááșáá»áŹážááŸááááșá áĄáááŻážááœáŹážááŻá¶áž áĄáŹážáááșážáá»ááșáá»áŹážááŸáŹ-
- áĄá áŻáĄáá±ážáá áșááŻáááŻá· áá»áááșáááșáá±áŹáĄáá«á nodes áá»áŹážáááș áááșážáááŻá·ááá±ááŹáá»áŹážááᯠá áœáá·áșáá áșáá«á
- áááșáá°ááŒáŻááŒááșážáĄáŹáž ááááșáááŻá·ááŒááșážááŒá±áŹáá·áș áááșážá áźááŒááșážááᯠááááŸááááŻááșáá±áŹá·áá«á
áááșááČáá±áŹááŻá¶ážááŒááșáá»ááșáá»áŹážáĄáŹážááŻá¶ážáááș á€ááááŻááŹáĄááșáčáá«áááșááŸá áșááŻá០áá±á«ááșááœáŹážááŹááŒááșážááŒá áșáááșá áĄáááșá RabbitMQ á áĄá áŻáĄáá±ážááᯠááŒááșáááșáá±á«ááșážá ááșážáááŻááșáá±áŹáĄáá« áá±ááŹááᯠááááșážáááșážáááŻááșááČá·áá«áá áááșáá°ááŒáŻááŒááșáž áááŻáááŻááŒááșáááșááŹáááșááŒá áșáááșá áĄáááșá áááșážáááș ááááșáááŻá·ááŒááșážáááŒáŻááČ áááșáá°ááŒáŻááŒááșážááᯠá áœááșážáá±áŹááșáááŻááșáá«áá áááșážáááș ááŒáźážááŹážáá±áŹ áááșážá áźááŒááșážááᯠáááŻáááŻáá±áŹááșážááœááșá áœáŹ áá¶á·áááŻážáááŻááșáááșááŒá áșáááșá á€ááŒáżááŹááŸá áșááŻááᯠááŒá±ááŸááșážááŒááșážáááș RabbitMQ á áĄááŸáŹážáĄááœááșážááᯠáá¶áááŻááșáááșááŸáááŒáźáž áĄááœááșáááŸááááŻááșáá±áŹ á áŹáááŻáá±ážáááŻá·ááŒááșážáááșážáááŹáĄááŒá áș RabbitMQ á á áœááșážáá±áŹááșáááșááᯠáááŻáááŻáá±áŹááșážááœááșá á±áááșááŒá áșáááșá áĄá±áŹááșáá±áŹáșááŒáá«áĄááŒá±áĄáá±áá»áŹážááœááș áĄá áŻáááŻááșááœáČá·ááŒááșážááŒáá·áș RabbitMQ ááᯠáĄááŒá¶ááŒáŻáááș áá»áźááŻá¶áá»ááŻá¶ááŒá áșáá±áá«áááșá
- á áááșááá»ááá±áŹ ááœááșáááșá
- á áááșááá»ááá±áŹ áááŻááŸá±áŹááșááŸáŻá
- áĄááœááșááŸááșáá»áŹážáá±áŹáááșážá áźá
ááŒáá·áșááŹážáá±áŹáááŸááááŻááșááŸáŻáááșáááșáá»áŹážááŸáá·áșáááșáááșááŹáá±áŹáĄáá«á áĄá±áŹááșáá«áááŻá·ááᯠááá·áșááœááșážá ááșážá áŹážáá«á
ha-promote-on-failure=alwaysha-sync-mode=manualcluster_partition_handling=ignore(áááŻá·áááŻááșautoheal)- áĄááŒáČááŸááá±áá±áŹáááșáá±á·ááșá»áá»áŹáž
- áĄáá»ááŻá·áá±áŹ node áá»áŹáž áá»ááșááœááșáá±áŹáĄáá«ááœááș clients áá»áŹážáááș active node áááŻá· áá»áááșáááșááŒá±áŹááșáž áá±áá»áŹáá«á á±á
áá áșááááșáááșáž (áá±ááŹááŻá¶ááŒáŻá¶áá±ážáĄááœááș) áĄá±áŹááșáá«áááșáááșáá»áŹážááᯠá ááșážá áŹážáá«á
- ááŻááșáá±áá°áááș á áŹážááŻá¶ážáá°áááșá០áĄáááșááŒáŻááŒáźáž áááșááŒáá·áș áĄáááĄááŸááșááŒáŻááŸáŻáá»áŹáž
ha-promote-on-failure=when-syncedáĄáááșá ááŻááșáá±áá°áá»áŹáž áá±áŹááșá០áááșá ááșážááŒáá·áșáááŻááșáá»áŸááș ááŸáá·áș ááá·áșááœááș áĄááœááșááŻá¶ááŒááșá áááșáá»ááá±áŹ áááŻááŸá±áŹááșááŸáŻááŸááá«áá áááŻááșáááș áááșáá«á=always.ha-sync-mode=automatic(áááŻá·áá±áŹáș ááŒáźážááŹážáá±áŹ áááŸáŻááșááŸáŹážáááŻááșáá±áŹ á áźáááșážáá»áŹážáĄááœááș áááșá áœáČááŻááș áááŻáĄááșáááŻááșáááșá ááááŸááááŻááșáá«á áááșáá±á·áá»áșáá»áŹážááᯠááŻá¶ážááŸáŻá¶ážá á±ááŒááșáž ááŸááááŸááááŻáááșáž ááá·áșááœááșážá ááșážá áŹážáá«)- áá°áááșážá áŻááŻááșááᯠáááááșáá«á
- áĄááŒáČááŸááá±áá±áŹáááșáá±á·ááșá»áá»áŹáž
áá»áœááșáŻááșáááŻá·áááș áĄááŸáŹážáá¶áááŻááșáááșááŸáááŸáŻááŸáá·áș ááŒáá·áșááŹážáá±áŹáááŸááááŻááșááŸáŻáááŻááșáᏠááŒáżááŹáĄáŹážááŻá¶ážááᯠáááŒáŻá¶ááŻá¶áááá±ážáá«á á„áááŹáĄáŹážááŒáá·áșá á áźáá¶ááá·áșááœáČáá±ážáááŻááșáᏠááŻááșááŻá¶ážááŻááșáááșážáá»áŹážááᯠááŻá¶ááŒáŻá¶áĄá±áŹááș áááșáááŻá·ááŻááșáá±áŹááșááááș (á„áááŹ- áĄááșááááșáá»áŹáž)á áĄááœáČá·áá»áŻááșááŸáá·áș Shovel plugin áĄááŒá±áŹááșážáááșáž ááŒá±áŹáááșáááŻáá«áááșá
áááŒáŹážáĄááŹááœá± ááœáČáá»á±áŹáșááČá·áááș áá»á±ážáá°ážááŒáŻááŒáźáž ááŒá±áŹááŒáá±ážáá«á
áá«á·áááŻáááșážááŒáá·áșáá«á á€áá±áŹááșážáá«ážááœááșáá±áŹáșááŒááŹážááá·áș áááșáá±á·áá»áșááŻá¶ážááŸáŻá¶ážááŸáŻáĄááŒá±áĄáá±áĄáá»ááŻá·ááᯠá ááșážáááșáááș Docker ááŸáá·áș Blockade áááŻáĄááŻá¶ážááŒáŻá RabbitMQ áĄá áŻáĄáá±ážáá áșááŻáĄáá±á«áș áĄááŸá±áŹáá·áșáĄááŸááșááŒá áșá á±áá«áááșá
á
áźážááźážááŸá ááááșáá±áŹááșážáá«ážáá»áŹáž-
áá¶áá«ááș á -
áá¶áá«ááș á -
áá¶áá«ááș á -
source: www.habr.com
