á¨áľá
á°áľ ááťáťá áĽá á¨áá°á á°ááááľ áľáá
ááá° ááłáŽá˝ áá¸áᣠáľááá
á¨á°áᨠááŁáĽáá˝á á RabbitMQ áĽá Kafka áĽááááŁááᢠáá
ááŁáĽá áľá RabbitMQ áĽá ááŁáŠ áľá áŤá፠áĽá RabbitMQ ááᢠá˝áá á¨á
á áá, áľááá
áĽáŤáľáá ááš áŤáľáá.
áľá á°áľá ááťáťáᣠááĽááľ áŤáá áĽá á¨áá°á á°á°áŤá˝ááľ (HA) áľáľáŤá´ááá˝á áĽá áĽáŤááłááą áľáľáŤá´á ááŤá°ááá¸á á¨áááĄáľá ááĽááśá˝ áĽáááá¨áľá˘ RabbitMQ á áááľá°á á áááá˝ áá áá ፠áá˝áá - áĽá á¨á፠áĽáá° á¨á°á¨ááá áľáááľ ááá°áŁá. áá° á°á¨ááá áľáááśá˝ áľáááŁ, áĽá áá áľá ááĽááľ áĽá á°ááááľ áĽáááááŤáá.
áĽááá
á˝áá°-ááłáŚá˝ áľáááą á˛ááľá
áĽáá´áľ áĽáá°áá ፠ááááťá. á¨á ááłá¨ áá¨áĽ áááááľ á áááłáŤáľáŁ á¨á áááá á áááłáŤáľáŁ á¨áááľ á˛áľá á áááłáŤáľáŁ á¨á áááá áááŤá á áááááľ á ááťáť á á°áŁá°áĽáŁ ááŹáľ ááĽááľ ááá á¨á ááłá¨ áá¨áĽ áááááľ áááááᢠáá
áá áá° á¨ááἠááĽááľ ááá áááśá˝ áá፠áá˝áá. ááááąá áá ááá ááĽááľ áŤáá (á¨áá¨á ááĽááľ, á¨ááἠááŠááľ á¨áá) áĽá áááá á¨ááľááľ áááłáá˝ (ááŁáĽ áĽá ááá ááá áá) áľáááľá ááłá°á áá˝á á¨áááťá áá.
ááĽááľ áĽá á°ááááľ á á°ááŤáŠ á¨á¨á¨á áŤáá˝ áá áĽááłá áĽááŤáá, áĽá á¨áľááá ááááľ ááááťá¸áľ ááá¨áĽ á ááĽááľ. áĽáŠ ááá á RabbitMQ áá
áá፠ááťáá. áááá áá° áĽá ááĽááľ ááá á¨á áá á°á°áŤá˝ááľ ááá¸ááá á ááłááľ ááááľ "ááá˛á˝" áááťáá˝ á áááľá˘
áĽáá á á á°á°áŁá¸á á˝ááá˝ ááááŤáľ á¨áľáááš á ááááŽá˝ áá° á¨ááἠááĽááľ áĽáá°ááአáአáľáŠá¨áľ áĽáá°áŁáá. á á áłáłááá˝áŁ á°ááá˝ áĽá á¸áážá˝ ááŤá¨á á¨áááááľ á°áá°ááľ á áᢠáááĽááą áá°ááá á¨á°ááá á áá áááĽááąá á áááŁáľ á¨áą áľáŤ ááᢠá ááľ á°áá áááááąá áá áłáłá áĽáá á á˛á°áĽáŁ áĽáá˛á á á áá áĽá áᢠááá áá áá áĽáá° á°ááá áĽá á áłáá áá á áá á áááľá¨áľ áá¨á°áľ áĽáá°áá˝á áĽááŤááá˘
áá á á¨ááľááá ááááľ á¨áááá ááŞáá˛ááľ
ááá áá¨ááá˝/ááááá
á RabbitMQ ááľáĽ áááľ á áááľ áá¨ááá˝ á áᥠá¨áá á¨ááľ/á¨á°á¨áá (á¨áá á¨ááľ) áĽá áŤáá°á¨áá (á¨ááá á¨ááľ)ᢠááá áá¨ááá˝ á Mnesia á¨ááἠááł ááľáĽ á°á¨áá˝á°ááᢠááá áá¨ááá˝ á ááľááá á áá áá áĽáá°áá ááłááá áĽá áĽáá°áá á¨á°ááá¨áŁ á¨áľáááľ áĽáá˝áľ ááá á¨á áááá áĽáá˝áľ áá°ááá (áá¨áá áĽáľáŤá)ᢠáá áááľ áááŞáŤ (ááááĄ) áĽáľáŤáá áĽá áá¨áá áĽáľá¨áá á áľá¨áľáŁ á¨áá¨áá/á¨ááľáአáá á¨á° áááľ ááľáá áá á°áááś áááŁáá˘
ááľááá ááááą áĽáá°áá á˛ááá á°áááá áá¨ááá˝ áĽá ááľááŽá˝ ááááłá.
ááá áááĽááśá˝
áá¨á á¨áá á¨ááľ áľááá áĽáť ááá áááĽááśáš á ááľááá ááááľ áłáá á˛ááá áá°ááá áááľ á áá°ááᢠá á áłáá á¨á°ááá አáááááśá˝ áĽáť ááá (á¨áá á)ᢠá¨ááŤááᥠáááĽááśá˝ á á°ááá áá á°á¨á᪠á¸áá áŤá°áááᣠááá áá á¨áááĽááľ ááĽááľ á°ááŁáááľ á¨ááá áá á ááŤá á¨ááá˘
áŠá. 1. á¨áá¨áááľ ááľáŞááľ
á¨áá¨á ááľáłááľ áá áá°áĽá°áĽ
á¨á°áá ááŁáľá áááľá¨áᣠá°á°áááááľ áŤáľáááááᢠá ááŤáł ᨠRabbitMQ ááśá˝á á°áĽáľá á á ááá á áá¨ááá˝á á á ááŤáł ááśá˝ áá á ááŁááľ á°á¨á᪠áľáááá˝ áá¨á áĽáá˝áááᢠáľááá á ááľ ááľááá ááááľ á¨áá¨á° áá¨á á ááŁá áĽá áĽáá°á°áá áĽáááŤááá˘
áá¨á ááá¸áŁá¨á áĄ
- áááá á¨á˝áá áĽá á¨ááŁáĽ áľáááá˝ á¨ááá á á ááľ áá áá¨á (ááá á)
- áááá áááááśá˝ áĽá ááłáłáł á¨ááá áá¨á á¨ááá á á ááľ ááá áĽá ááľá°ááśá˝á˘ áĽááá ááľá°ááśá˝ ááá ááľ á áááŠá ᣠáá ááľáá áĽáťá˘
áŠá. 2. áá¨ááá á ááá¸áŁá¨á
áá
ááá¸áŁá¨á á¨ááááá á á°áá˘á ááᲠááᢠá áĽáą ááľáĽ, á¨ááŁááľ áááłá áĽá áá¨áá áááἠáŤáá áľá á áááá˝á áĽááłá ááá¨áĽ áá˝áá. ááłááá˝áĄ-
ha-mode: all
ha-mode: exactly, ha-params: 2
(á ááľ ááł áĽá á ááľ ááľáłááľ)ha-mode: nodes, ha-params: rabbit@node1, rabbit@node2
á¨á áłáłá áá¨áááŤ
ááĽááľ áŤáá á˝ááá áááááľ á áłá áŤá¨áááŁáᢠáŤá áĽáááą, áááááśá˝á á¨ááŁáľ áĽáľá á á. áááĽááą áá° á˛áľá á¨á°áá á áá áĽáá á áá° á áłáá áááŤá. RabbitMQ áááááśá˝á áá° á˛áľá á¨áá˝áá á°á¨á°á áá áłááá á á¨ááá á áĽááľ ááś ááá°á¨ááśá˝ ááá ááľáĽ ááᢠáá¨á á˛áá¸áŁá¨á ᣠááá ááľá°ááśá˝ á¨áááĽááąá á á áá° á˛áľá á¨áá á áá áĽáť áĽáá á áááŤáᢠáá áááľ á¨áá¨áááŤáá˝ á á ááá áááá¨áľá áá¨ááŤá, ááá áá á¨ááἠá°á áááľ á áľááá á¨áá, á¨á፠á áľááá áá¸á.
áŤáá°áłáŤ áá¨á
á ááľ á°áá á˛áá ááá á˛á áá˝áŁ ááá á¨áá¨á ááŞáá˝ (ááśá˝) á á፠ááľááá ááááľ áá áááľááᢠáááľá°á á¨áĽáŤááłááą ááł á áŁá áĽááłááá ááľáłááľ ááááŁá áĽá áĽáá° á á˛áą ááł áŤáľá°áááááá˘
áŠá. 3. á ááŤáł á¨á°áááŁá¨á áá¨ááá˝ áĽá ááá˛ááťá¸á
á°áá 3 á°á áá˝áˇáᢠá á°áá 2 áá áŤáá ᨠQueue C ááľáłááľ áá° ááłááľ á¨á áááąá áἠáá áᢠáĽáá˛áá á á°áá 1 áá á Queue C á á˛áľ ááľáłááľ ááá áŠá áἠáá áᢠRabbitMQ áááá á ááá˛áá˝á ááľáĽ á¨á°ááá¸áá á¨ááŁááľ áááł áááá¨áľ ááááŤáá˘
áŠá. 4. á°áá 3 ááľááᣠáá
á áá¨á C áĽáá˛ááľá
á áľááá
ááŁáŠ á°áá 1 áááˇá! á ááľ á°áá áĽáť áá á¨áá¨áᢠᨠQueue B ááľáłááľ áá° ááłá á¨á áĽááá˘
á¨á ááľ. 5
á°ááá ááá°áá 1. á°ááá á¨á áá áľ áĽá á¨á°ááá° áá¨áá á¨áąáá áŤá á á áĽáŠ áááł á˘á°áááᣠááá á¨á°áá¸áŁá¨á á¨áá¨á áááĽááśá˝ áĽáá°áá á˛ááአááŁááᢠáá¤áąá áľáááá áá áľáŠá¨áľ áá°á á á¨ááᣠááłá áá. áĽááá á á ááľááłáá˝ á á áᥠáĽáááááááᢠáľááá á°áá 1 á áá áĽáá°áá á¨áááľá°á á áŁá áááᣠáĽá áááľá°á áááŞáŤáášá áááá á ááááŤá áĽá áľááá á á°áá 1 áá ááľá°ááśá˝á áááĽáŤáá˘
á áá á ááŁá á¨á°ááá 1 ááĽááľ á°á áá ááᣠáá áĽáá° á¨ááἠááĽááľ ááᣠáľááá ááľáłááľ á¨ááá áá¨á B áá á áá á ááˇáá˘
áŠá. 6. á°áá 1 áá° á áááááľ ááááłá
á°áá 3 áá° ááľáá á°áááˇááŁáľááá áá¨ááá˝ á áĽá ᢠá¨HA ááá˛áŤá¸áá áááááľ ááľáłááśáťá¸áá ááá°á áŤáááᢠá áá áá ááá áá áá¨ááá˝ á á°ááłáłá ááľááá ááááľ áá áá¸á! áášá á áá°áá, á á áááá˝ ááŤá¨á á ááľ áἠá¨áá áľáááľ ááአá¨á°áťá áá. áĽáá° á áááłá°á áá ááśá˝á áĽáá°áá ááááŁá á ááá áአá ááŤáŽá˝ á¨ááᢠááááŞáŤ á¨áá¨á áááłá°áá áá¤á áľáááĽá áá°áá á˝áá á áá áĽááááłááá˘
áŠá. 7. á°áá 3 áá° á áááááľ ááááłáᢠá á ááľ ááľááá ááááľ áá ááá áá áá¨ááá˝!
áľááá á áá ááľá°ááśá˝ áĽáá´áľ áľáááá˝ áĽá áľá á°áľá ááťáťá áĽáá°áá°áĄ ááłáĽ áááááľ áááŁá ᢠáá áá á ááľááá ááááľ áĽáá˝áľ á áá¨á°áľá áľ áá ááááąá áŤá¨áááŁá áĽá á¨áá¨á ááĽááľ áá¨áá¨ááᢠáá áĽáľáŤáá á áá¨á¨áľáá, ááááŤáąá á áĽáááą ááá ááá á áŁá á¨á°ááłá°á áá.
áááłá°á
á á˛áľ ááľáłááľ á˛áá á ááá á áłá˛áľ áááááśá˝ áááá áá°á፠ááľáłááľ áĽá áá°ááá˝ ááŁááᢠá ááá áá¨á ááľáĽ áŤááá áá¨á á á°ááá¨á°, áá° á á˛áľ ááľáłááľ ááľáá áĽáá˝ááá, áá á á¨ááłá áá á á áááá. áĽáá˛áá ááŁá áááááśá˝á ááááľáá áĽá ááá áá¨á áĽá á á˛áą ááľáłááľ á á˛áľ áááááśá˝ áá° ááŤá á áááĄá áľ áá áĽá ááŁá áááááśá˝ á¨ááá áá¨á áŤáľ áá á áááĄá áľ á°ááľ áá áĽáá˛ááá ááááľ áĽáá˝áááá˘
áá áááłá°á á ááśáá˛á ááá á áĽá áá áĽá á áá¨á ááᲠáá á¨áááŁá á¨áᢠá ááľ ááłá áĽáááá¨áľá˘
áááľ á¨ááŤáá¸áŁáá áá¨ááá˝ á ááᢠáá¨á A á áŤáľ á°á áááłá°ááᣠáá¨á B á°áá á áĽá áááłá°ááᢠáááąá áá¨ááá˝ á áĽá áááááśá˝á ááááá˘
áŠá. 8. á¨á°ááŤáŠ á¨áá áááłáá˝ áŤáá¸á áááľ áá¨ááá˝
á áá á°áá 3 áĽáŤáŁá ááá˘
áŠá. 9. á°áá 3 áá¨á°
á°áá 3 áá° á áááááľ á°áááˇáᢠáááľá°á á á á˛áą ááľááá ááááľ áá ááĽáŤááłááą áá¨á ááľáłááľ áááĽáŤá áĽá á áŤáľ á°á á á˛áąá áá¨á A á¨ááłá áá áŤááłáľáááᢠááá á¨á á˛áą áá¨á ᢠááľáłááľ áŁáś áá áááŤáᢠáľááá ᣠᨠQueue A áá áľáááá˝ áĽá áááŁá ᨠQueue B áááááśá˝ á ááľ ááľáłááľ áĽáť á ááá˘
áŠá. 10. á á˛áą ᨠQueue A ááľáłááľ áááá ááŁá áááááśá˝ ááá áá ááá áá á á˛áą ᨠQueue B ááľáłááľ á ááá ááá.
áááąá áá¨ááá˝ á áĽá á°á¨á᪠áááááśá˝á ááá áá. á°áá 2 á¨á፠ááááłáᣠáĽá áá¨á A áá° áá°áá ááľáłááľ ááááłáᣠáá á á á°áá 1 áá ááᢠá˛áłáŤ á¨ááἠááĽááľ á¨ááᢠáá¨á á á ááá አááľáĽ á፠áááĽááśá˝ áŤááľ á˛áá á ááľá°ááą ááľáĽ á°áá á áľá áĽáť áá ááááŤáąá áá¨áá á¨ááááŞáŤáášá á áľá áááĽááśá˝ áá˝á á áá°ááá á˘
áŠá. 11. áá¨á A áŤá áááĽááľ ááĽááľ á á°áá 1 á°áá¨áŁá ááááłá
áááąá áá¨ááá˝ áĽáŤááłááłá¸á á áĽá á°á¨á᪠áááĽááľ ááá ááᢠá°áá 1 á áá á°á áá˝áˇáᥠáá¨á A ááá áááĽááľ áłáá á áá° ááľáłááľ ááá§áᢠááá áá¨á B á˝ááŽá˝ áĽáŤáá ááľ ááᢠá áá ááᣠá°ááááľá ááá ááĽááľá ááłá°á áĽáá˝áááá˘
á°ááááľá ááááťá¸áľ á¨áááá ááá˛á ááᢠá-ááľá°ááá -áá-ááľááľ ááľáĽ ááŤá á áá áľá˘ áá áá. áá ááŁáŞ áĽá´áľ ááᣠáľááá á ááá ááá˛áá á ááŤá˝ áááá˝ á áá˝ááᢠá áĽáá°áá ááááľ áááł, á á°á¨áŁá, á¨áááłá°á á᪠á áá ááľá°ááśá˝ ááľáĽ ááľááśá˝á áĽááá áłáá. áá áááááśá˝ áĽáá˛á á áŤá°áááᣠááá áá áá¨áá á¨ááá ἠáĽá á¨ááá áá áááŤáá˘
áŠá. 12. áá¨á A áŤá áááĽááľ ááĽááľ áá° á°ááá 3 á°áá¨áŁáá áᢠáá¨á B áá° á°áá 3 á°áááś á áľá áááááśá˝ á áá°ááá˘
ááŤáá áĽáá˝ááá ha-promote-on-failure
áá° áľááá when-synced
. á áá
á ááŁá áá¨áá áá° ááľáłááľ á¨ááááľ ááá
á°áá 1 áá¨ááá áá áá° áŚáááá áĽáľáŞáááľ áľá¨áľ áá áĽááᢠá¨á°ááá° á áá ááá áá¨á áá° á°áá 1 áŤááá¨á ááĽááľ ááááłáᢠá°ááááľ ááá¨á á°á
áááľ á¨á°á¨áá ááᢠááá áá áá
á á°áá áááł áá, áá
á áá° áá á¨ááἠááĽááľ áĽááłá ááŤá፠áá˝áá, áá
á á á
áᥠáĽáááá¨áłáá.
áŠá. 13. á°ááá 1 á¨á°á¸áá á áá áá¨á á á áááá
áĽáŤááá áá á¨á áá˝áá: "ááááŁáľ á ááśáá˛á áááłá°áá á ááŤá˝ á ááá áá á¨á°áťá ááá áá˝áá?". áááą áááłá°á á¨áááľ áľáŤ ááᢠá áááłá°á áá ááá áá¨á ááá á áááľ á¨ááá ἠáĽá á¨ááá áľáŤáá˝á áá¨ááá á áá˝áá!
á ááľ ááłá áĽáááá¨áľá˘ á áá á áŁá á¨á á áá¨ááá˝ á ááᢠáĽáá´áľ áá° áĽáá°áá ááááľ áá á ááŤáľá áá˝áá? á áĽá ááááŤáśá˝áĄ-
- áá¨ááá˝ á áááľ áĽá á áá á áááá
- áĽááá á¨áá°á ááĽááľ áŤáá¸á áá¨ááá˝ áá¸á, áĽá á áá á¸áážá˝ ááľ áĽáá áĽá¨áŽáĄ áá.
- áĽááá á¨áá°á ááĽááľ áŤáá¸á áá¨ááá˝ áá¸á, ááľááľ áłááˇá áĽá á¸áážá˝ áĽá¨áŤá áá
áŠá. 14. á¨á°ááŤáŠ á¨áá áááłáá˝ áŤáá¸á áááľ áľááá
áá¨ááá˝
á°áá 3 á áá á°á áá˝áˇáá˘
áŠá. 15. á°áá 3 á°á áá˝áˇá á áĽáŤááłááą áá¨á á ááľ ááł áĽá ááľáłááľ áľáś
á°áá 3 á°áááś ááľáá áá áááŁá áĽá á áłá˛áľ ááľá°ááśá˝ á°ááĽá¨ááᢠMaster Queue A áŤááľá áááááśá˝ áá° á á˛áą ááľáłááľ ááŁááľ ááááŤáᣠáĽá á áá áá áá¨áá á ááááᢠáá¨áá áááľáá áááľ á°á áłáľ áááľáłááŁáá á ááá áá¨á á¨áááľ á°á áłáľ áááł!
ááá áá áá¨á B á ááá ááá ááľáĽ áĽááłá áááŤáᢠáá°á°áŤá˝ááľ á ááłááľ áľáá ááľáááľááľ á¨áááá˝á˘
áŠá. 16. áá¨á á áááłá°á áá á áááá
á¨áááľ á°á áłáľ á áá áá¨á A áĽáá˛á áááá áĽá áĽáá°áá ááá ἠáĽá ááá ááá á ááááŤáá˘
ááááá˝
áá
á áááłá°á áá á¨áááľ áŁá
᪠á áŁá áľáá
áá¨á áŤáá¸á áľáĽáľáŚá˝á ááááá á áľá¸á᪠áŤá°ááááᢠá á ááľ áá
áľ, ááá ááľááá ááááľ áĽáá°áá áááá á áá áľ, áá
á áááľ áá° ááľáłááľ áááľ ááá á á áááአááťáťáŤ áá áá¨ááá ááĽááľ áááľ áá. ááá¸ááá á¨áá¨áĽá ááľá°ááśáš á¨áľáá¨áľ á᪠á¨áá áááááśá˝á áĽááŁááᢠá ááŁáŞááľáŁ á á°áá ááá¨áĽ áá
áľáŁ á¨áľáá¨áľ áá á¨áá ááľáłááľ á áááłáŤáľ á áá¨ááááᢠáá
áááľ á°ááá áĽáá°á°ááá° ááá á áááľ áááĽááľ á ááŁá ááłáą ááá áá¨á áĽáť áá áᢠá°ááá á˛áá¨áĽ á¨áŁá
᪠á
áá˝ á ááá˛á á¨á°ááᥠáá¸áᢠha-promote-on-shutdown
. á¨áááľ áĽá´áśá˝ á ááąá áááááľ áá˝áááĄ-
always
= áŤáá°ááłá°á ááľá°ááśá˝ á áááłáŤáľ áá áˇáá˘when-synced
= áá° á°ááłá°á ááľáłááľ áĽáť áá°áľáŁ áá áŤááá áá¨áá á¨áááá ἠáĽá á¨ááá ááááᢠáá¨áá á°ááá áĽáá°á°ááá° áá° á áááááľ ááááłá
á ááľ ááááľ ááá ááᣠá áľáá áá¨ááá˝áŁ á¨áá¨á ááĽááľ áĽá áŤáááááľ ááŤá¨á ááá¨áĽ á ááŚáľá˘
á°ááááľ á¨ááἠá°á áááľá á˛áŤáťá˝á
ááłá á¨ááľá¨áá á ááľ ááłá°áĽá áľ á¨ááᣠá ááľ á°á¨á᪠ááľáĽáľáĽ ááá á á. áá°á°áááááľ á ááśáá˛á áááłá°á á¨á°áťá á˘áááᣠá¨ááἠá°á áááľá áĽáá´áľ áááŤá? á áĽáááĽáŁ á á°áťá áľáááá˝áŁ RabbitMQ ááŁá áááááśá˝á á¨ááŁáľ ááľá á ááľá°á ááᣠáá á¨á áłáłááá˝ áľá á áłá˛áľ áááááśá˝áľ?
áĽáá á¨áá¨á°ááľá áááŽá˝ áááľ ááľáĽ ááľááŁáľ á ááĽááľ.
- á áłáá áľá á°áąá áĽáť ááááľ áĽá á¨áá á áááááą ááá á°á ááá á áá áĽáá°áá áĽáá˛ááá ááľá¨á áá˝áá?
- á áá áĽáá°áá áááá¨á á áłáá áááĽááąá á á áá ááľáĽ ááá á áá¨á ááą ááľáĽ ááľááἠáá˝áá?
á áłáá áááĽááąá ááŁá áĽáť á¨áťáᣠá áĽáááąáŁ á°á°áŤá˝ááľá ááťáťá á¨ááἠá°á áááľá áŤáťá˝ááá˘
áľááá , ááá áááá á áá áľ, áĽá ááłáá á á°áᨠáááł áá á¨á°áá°á¨á° áá.
á ha-promote-on-failure=á áááłá°á áá áŤá á˝ááŽá˝
ááłáĽ á-ááľá°ááá -áá-ááľááľ= á˛á°áá áá° ááááłá°á ááľáłááľ ááá¨áá áĽáá¨áá¨á áĽá á¨ááἠááĽááľá áĽááľáááłáá. áá¨áá á¨áááá ἠááá á¨áááťá áá áááŤáᢠáááááľ á¨áá°ááá á°áá á¨áá¨á ááĽááľ áá áĽáá° áá áľáŤ áĽáá˛ááĽá áŁáá°á፠áá¨á áááááľ áĽá¨áá¨áá ááá˘
áá (áá áľáá áá áá) á°ááá áá¨ááá á¨á á áľáá á˝áá á ááĽáᥠáá¨áá á á! ááá ááἠá ááˇá! ááá áĽááłá á á áĽááá áááá áá¨á á¨ááá ááľá°ááśá˝ á˘ááŠááľá, áĽááá ááľá°ááśá˝ áĽáá˛á ááŁáá.
á°ááłáłá áľá áŤáá ááľááá ááááľ áĽáá°áá ááá¨ááᣠááá á áᣠá¨áááá ááľááá ááááľ áĽáá˛á¨áłá ááááľá°á áĽáááá¨ááá (á rabbitmqctl áĽááł_áááľá°á_ááľ) áĽá á á°ááłáłá á¨á áľá°ááá áľá á á˛áľ á°áá ááááŠá˘ áááľá°á á¨á ááá ááľááá ááááľ á˛áŤáľáłááľáŁ á¨áľáŽáá áá¨á áĽá á¨áľáá¨áľ á᪠á¨áá ááľá°ááśá˝á áŤáľáłááłáᢠáááľá°á á¨á ááá ááľááá ááááľ áĽáá˛á¨áł á˛ááá¨á áá áá¨áá áá¨áłáᢠá áá áĽáá°áá ááá á ááĽáᢠá¨áá á¨ááἠáľáĽáľáĽ áá ááľá°ááśá˝ á˘áá¨áá áááá ááἠá áĽá°ááᢠáá° ááááłá°á ááľáłááľ ááá¨á á¨á°áťá áááá!
áľááá
, á áĽá
áááłá°á (áĽá áááłá°á á áááťá) ᨠáá á ááŁáá ha-promote-on-failure=when-synced
á áĽá á áľá°áŤá¨áľ á áŁá á á°áá. áśáá°áŽáš áá
á ááŤá ááá¨á á°á
áááľ á á ááá áá áŁá áááľ áŤá á˘áá áá áááá˘
ááľá°á áĽáá°áá áááŁá á
áá áĽáá°ááŁá, á á ááľ ááá á áĽá á áááá˝ áá á¨ááá ááśá˝ ááá˝áľ áá° á˝áአáĽááááłáá. áá á áááľá°á á ááá¨áŁáá ááá ááááŤáľ áĽááłá áá¨á°áľ áá˝ááᢠá áśáľáľ-ááľ áááľá°á ááľáĽ ááá áá áá¨ááá˝ á á ááľ ááá á áááľ á áááá˝ áá áá°á á°áŁá.
ááľá°áŽá˝á áááŁá á á áááľ ááááŤáśá˝ á˝áá ááá áá˝áááĄ-
- áááś áááŁá á ááá¨ááá áĽáŠ ááłáŞáŤáá˝ á¨áá
- á¨áá¨á áááłá°á
áááś ááááŁá á áśáľá°á ááá á áá˘
á HA ááá˛áá˝ ááľáĽ áááá áá¨á áááááłááľ áá áá´ á á. áááŞáŤá áá á
áłá
- á áá áŤáá á¨HA ááᲠá¨á áá á áľá፠á¨áá°á á áááŤá ááᲠá áá áá áááá ááľá°ááśá˝ áŤáľáááłáá˘
- áááá áá¨á áááááłááľ á¨áááááľá ááľááá ááááľ á áááὠᨠHA áááŤá ááá˛á "nodes" áááłá ááááŁá.
- áááłá áľá°áľ áá¨ááá áŤááłáľáááá˘
- ááá°áľ á¨á°á ááá á áá áááŤá ááá˛áá áá°ááá. ááá ᨠHA ááᲠá°ááŁáŤá á˛áá á¨ááááá á¨ááľáłááľ áĽááľ ááá áŤáá˘
ááłáą áľáá áá¨ááá˝ ááá áĽáĽá á¨á á ááľáááśá˝ áŤáááľ áá á áŤááľ ááá°áŤ áá˝ááá˘
á áá ᨠRabbitMQ áľáĽáľáŚá˝ á¨á ááłá¨ áá¨áĽ áááááŽá˝ áá áĽáá´áľ áĽáá°áá አáĽááá˘
á¨áááááľ ááá¨áĽ
á¨á°á¨áááá áľáááľ á áááá˝ á ááľááá á áááá˝ á¨á°ááá áá¸áᣠáĽá á¨á ááłá¨ áá¨áĽ áááááá˝ áááááłá¸á ááá¨áĽ áĽá ááá¨áĽ áá˝ááᢠá¨ááá¨áĄ áľáááá˝ á á áŤáŁá˘á áá á¨á° áááľ ááá á á°áá¨á á á°áá á áľá°áááááľ áá á¨á°áá°á¨á° áá. áŤá áá áá , á¨á°á¨ááá áľáááśá˝ áĽááąá áááŁá á ááťá á ááŁá¸á. á áľáá á á°ááááľ áĽá á ááĽááľ ááŤá¨á áá፠á áá, áĽá áĽáŠ ááá RabbitMQ áááąáá á ááŤáŽá˝ áŤáááŁá (á á°ááłáłá áá á áá°áá).
á RabbitMQ áááľ áá á ááŤáŽá˝ á áá:
- á ááááŽá á áááŤá¨áľá áááľ (á¨á°á¨áá-á ááá)ᢠáá ááááąá áŤá¨áááŁáᣠááá áá á¨ááἠááĽááľ ááŤáľá¨áľá áá˝ááá˘
- ááááŤáłá áááŤá¨áľá á á°áááᢠá°áá áá˝ áĽáá´áľ á¨áĽá á áá áĽáá°áááá áá á áááľá¨áľ á¨á áá áá á°ááááľá ááŤáłáŁ áá˝ááᢠáĽáá˛áá á áááľ-ááľ áááľá°á ááľáĽ áá ááá á áááááľá ááŤáľá¨áľá áá˝ááá˘
áá á ááááŽá á áááá áááľá áá? áá á ááľááá áááááá˝ ááĽááľ ááááŤáľ áááľá°á ááááľ á˛á¨áá áá. á áĽáŤááłááą áá, ááľá°ááśá˝ áá° ááłá áĽáá˛áŤááą áá°á¨áá, áľááá á á áá¨á¨áť á ááŤáł ááśá˝ á á ááľ áá¨á ááľáĽ áááá.
áŠá. 17. áá áá¨á áĽá áááľ ááľá°ááśá˝ áĽáŤááłááłá¸á á á°áᨠááľááá ááááľ áá. á¨á፠á¨á ááłá¨ áá¨áĽ áĽáá˝áľ á á áĽá á ááľ ááľáłááľ á°ááŤááˇáᢠá¨á°áá áá ááľááá ááááľ áááą áĽáá°áá°á á ááś ááľáłááśášá ââáá° ááłá á áá¨á ᢠá áá áááľ áá áá¨ááá˝ á áá, áááąá á¨ááá ᥠáĽá á¨ááťá áá¸á.
á áłááá˝ áááĽá ááááąá ááśá˝ á¨ááŠáŁ á¨áá¨áá áááľ á¨á°ááŤáŠ á ááá˝ ááá¨ááá˘
á¨á°ááŤáŠ ᨠRabbitMQ áááłáá˝ á°ááááľá ááá ááĽááľá áá°áŁáá˘
áááłá á˝á á á (ááŁáŞ)
áá áááł á°á°áŤá˝ááľá áŤáááŁá. áááááą á¨á á á áá, ááááŤáłá áááŤá¨áľ áá¨á°áłá. áááááą á¨á°ááá° á áá á áľá°áłáłáŞá á¨áľááá ááá áĽáá°áááľá ááá°á á áá áľá˘ á¨á áá ááá áĽáá°áá ááááŤá áĽá á¨á፠ááá ááá á¨á°á áŤáá ááἠáá ááá˘
áŠá. 18. áśáľáľ á áľáááá˝ á¨áśáľáľ á°áááá˝ áá á¨á°ááŤá áá¸á. á¨ááľáĽáŁ áááľá°á áááá áĽáŤááá˝ á á°áá 2 áá° ááá áá¨á áŤá°ááłáá˘
á áá á°áá áĽáŤáŁá áá 3. áááš á°ááá˝ ááľáá á ááś ááľáłááąá áá° ááłá á áá¨á ᢠá ááááŽá á áááŤá¨áľ á¨áá¨á°á°á á áá ááááľ ááá˘
áŠá. 19. ááááŤáłá áááá (á¨á°á¨áá-á ááá). ááááŚáš áá° áááą áá áá¨ááá˝ áááłá, áĽá áááą á
ááá˝ áááŁá.
áááááą áá°áá á¨á áľ á°áááˇá ᣠáá á ááááŽá á áááŤá¨áľ áááŤáᢠá áľá°áłáłáŞá á°á¸áááá á áŤá ááá¨áĽ á áá áľá˘ á áá¨á°áá áááł á áľá°áłáłáŞá á°áá 3á áĽáá°áá áŤáľááá¨áá. áááľá°ááá áá á¨ááá¸á ááá áááááśá˝ á áá°áá.
áŠá. 20. á áľá°áłáłáŞ á°ááá áŤá°áááá 3.
áŠá. 21. á áľá°áłáłáŞ á°áá 3á ááááŤá áĽá áááľá°áá ááááááᣠáĽá፠á¨á°á°á áááááśá˝á áá áŤáŁáá˘
áááááą á á áá áľ áá áĽá á¨áłá°á° á áá áááľá°á áĽá áá áá¨á áááá ἠáĽá áááá á°ááá áˇáá˘
áŤáľ-áááľ áááł
áááľá°á áŤáą á¨á°ááŤá¨ áĽá á¨á°ááá á áá á¨á ááá áá ááááŁá áŤááá á áľá°áá á¨á˘áá ááľ áá á°ááłáłá ááᢠá¨á°á¸ááá ááá áá° áŁáś áááľá°á ááááłáᣠáĽá áá¨áá áá°á፠ááá áĽáť á¨á°ááŠáľá áááá áááááśá˝ áŤáŁáá˘
á ááľá°á áááłá áá ááł á áá
á ááááŽá á ááááá ááááľ áŤááááá áŤáá á ááŤá á¨áááľá°á áááá á áá á áľááż á áŠá áááá ἠáĽá áááá áĽáᢠáááľ áĽáť ááᢠá°ááá á áľááš á áŠá áááá á˛áŤá áĽáŤá áŤááá ᣠáááľá áááá ááŁá áááááśá˝á ááááá áĽá á á˛áľ áááááśá˝á á ááá ááᢠá á´áŽááľ á ááľ áá áĽáá°áá áááááąá áááľáťáᢠáááááą áĽáá°á°ááá°áŁ áľáŤáá áááĽáá áĽá áááľá°áá ááááááá˘
áŠá. 22. áśáľáľ á áľáááá˝ á¨áśáľáľ á°áááá˝ áá á¨á°ááŤá áá¸á. á¨ááľáĽáŁ áááľá°á áááá áĽáŤááá˝ á á°áá 2 áá° ááá áá¨á áŤá°ááłáá˘
á°ááá˝ 1 áĽá 2 á¨áá á¨á°áá 3 áááŤáᥠááľáłááľá áá° ááłá á¨ááľá°ááá ááá á°áá 3 áá áĽá á ááááá˘
áŠá. 23. á°áá 3 á ááˇáᣠáááá á°áá áá˝ áŤáá
áá áĽá á¨áááááľ áĽáŤááá˝á ááľá
áŤá°áááá˘
áááááą áĽáá°á°ááá° áá° áááľá°á ááááłáá˘
ááá áá¨á á á°áá 3 áá á¨áááá áľá áá ááłá áĽáááá¨áľá˘
áŠá. 24. áá áá¨á á á°áá 3.
á¨á፠á°ááłáłá á¨áááááľ ááŁáľ áá¨á°áłá. á°áá 3 áŁáá áľ áááá ááááŤáąá á áľááš á áŠá ááᢠá áá á áŠáᣠá ááááš á°áá 3 ááá°áá áŤáŤáᣠáľááá á¨á°áá 1 áĽá 2 á¨áá¨á ááľáłááľ áá° ááłááľ á¨á áĽááá˘
áŠá. 25. á°áá 2 á ááááá áľ áá áá° á°áá 3 ááá¨áá˘
áááááą áá°áá á¨á áľ á˛áááľ á°ááá 3 áááľá°áá ááááááá˘
áŠá. 26. áááľá°á áá° áá°á á áľáŤ á°áááˇá.
ááĽááľ áĽáá°áááá áĽáá áá¨áłáľ á áľááá ááᣠááá áá á°á°áŤá˝ááľáá ááááľ áĽáá˝áááᣠá¨áá á á°áłáŤ áááł á°áá áá˝á áá° á áĽááá ááá áĽááľá°áááááᢠáá áĽááááš áááłáá˝áŁ áĽá á áá Pause Minority áááłá áĽáááŁááᣠáá á áĽáááą á ááá°áĽ ááłá áá á¨á°áá á¨á° ááá˘
ááááąá ááá¨ááἠá°áá áá˝ á á°áłáŤ áááł á¨á áľá°ááá áá áááááłá¸áá áá¨ááἠá áľááá áá. á ááŤáŽáťá˝áá áĽáááá¨áľá˘
á¨á°áá á áááááľá áá¨áááĽ
áááááą á¨á á á áá (á¨á ááľ ááľááá ááááľ ááľááľ á áá) á°áá áá˝á áá° áááľá°á áá ááá ááá áá° áĽáŤ á áááá˝ áĽáá´áľ áĽáá°ááአáĽá á ááŤáŽá˝ á áá ᢠá ááááŞáŤáŁ á ááľ á¨á°áá°á áá¨á á á°áá°á ááľááá ááááľ áá áĽáá°ááľá°áááľ áĽááľáłááľáŁ ááá áá ááááá áĽá ááá˛áá˝ á ááá á áááá˝ áá ááŁááᢠá°áá áá˝ á¨ááááá ááľááá ááááľ áá áááá áá˝ááᣠáĽá á¨ááľáĽ ááľáá áá°ááááá áľ áŚáł áááŤá¸ááᢠááá áá ááľááá ááááľ áŁáá áľ á˛áá áááááśá˝á ááľá áŤá°áááᣠáľááá á°áá áá˝ á¨áá ááľááá ááááľ áá áááááľ á ááŁá¸áᢠááľááá ááááą á¨áá°áᣠááá ááľá¨á áá˝ááá˘
á¨áĽá á ááŤáŽá˝áĄ-
- áááľá°á á¨áá°áá°á á ááľ ááá á ááá á¨áá˝á¨á¨á¨á á˛áá á°áá ááš áĽáľáŞáłáŤ áľá¨áľ ááááááľ ááááŤáᢠá ááľ ááľááá ááááľ á¨á°áá¨á ááá á¨áłáá°áŁ á¨á፠ááľááá ááááľ áá ááááááľ á¨áá°á¨á áá¨áŤáá˝ á ááłáŠáᣠááá áá á°á¨áłá áá¨áŤáá˝ áá° ááá˝ á ááááŽá˝ (á áἠáŽá˘á áá˝á) áááłáᢠáá ááááŤá á¨áááááľ ááŁáľ ááá á ááĽááľ ááááŁá á áááá áá á á áááá á°áľáá ááá˘
- áááľá°áá á ááľ ááá ááľá¨áľ áĽá á¨áłááą/á¨áá°á ááśá˝ áĽáá°á°áá á¨áááአááľáááľá˘ áá á ááĽááľ á¨á°á°áŤ áĽá á°áá áá˝ áááááľá áĽáá°áá ááá¨á á¨áťá á¨ááŤááἠá°ááááľ áĽáááááá˘
- ááĽáŤááłááą á°áá á á¨ááá á áááá˝ áááá ááľáĄáŁ áĽá á°áá áá á˛ááá á áááá° á¨ááŤá¨áá¸á á ááąá ááááŁáᢠááááááľ á ááááá áľ áá áľá á°áľ áŤáá áá, áĽáľáŞááá áľá¨áľ á áááአááľáĽ áá°áááĽáá ááľááá ááááľ ááááłááłá.
- Რá¤á á¤áľ á áá áá á¨áá°á/á¨áłáá° á áľá°ááá áľáŤááá áŤáľáááąá˘ áá á áľáá˝ á˛á˛á¤á áá¨áááá.
áááśá˝
RabbitMQ áľáĽáľáĽ áĽá ááš áĽá ááłáśáš á ááľá˘ á áŁá á¨áŁáľ á¨áá ááłáśá˝ á¨áá¨á°ááľ áá¸á-
- áááľá°á á áááááá áľ áá á áááá˝ áááŁá¸áá ááĽáá;
- áááłá°áá áááľ áá¨áá áĽááłááá áŤá°áááá˘
ááá á áľá¸á᪠ááłááá˝ á¨áĽááá áááľ á¨áľá-ááá áŁá áŞáŤáľ á¨ááአáá¸á. RabbitMQ áááľá°áá á áááááá áľ áá áááĽá ááá ἠá¨áťá áááłá°á ááŁá ááááᢠáááłá°áá á ááááľ á¨áá˝á á˘áá áᎠáľááá áá¨ááá˝á áá°áá ááťá áá áᢠáĽááá á áááľ ááłáŽá˝ ááľá°áŤá¨á ᨠRabbitMQá á ááťá¸á áĽáá° áľá á°áľ-áłáá˝ áĽá á áŁá á¨ááá á¨áááĽááľ ááááŞáŤ á´ááááá á áĽá á áŤáťá˝ááᢠá áá¨á°ááľ áááłáá˝ ááľáĽ RabbitMQá á¨áľáĽáľáĽ áá áááá¨á á áááł áááááĄ
- á¨áááłáá á ááłá¨ áá¨áĽ.
- á¨áááłáá áá¨ááťá˘
- á áŁá á¨á á ááľááŽá˝.
áá¨áá°á á°ááááľ á ááĽáŽá˝á á á°ááá¨á°áŁ áĽááá á áŤáľáĄá áľáĄ-
ha-promote-on-failure=always
ha-sync-mode=manual
cluster_partition_handling=ignore
(áááautoheal
)- ááá áááááśá˝
- á ááłááľ ááľááá ááááľ á˛áááľ á°áá áá˝ á¨ááŁáŞá ááľááá ááááľ áá áááááłá¸áá áŤá¨áááĄ
á ááĽááľ (á¨ááἠá°á áááľ) á¨áá¨á°ááľá á ááĽáŽá˝ áŤáľáĄá áľáĄ
- á áłá á á¸áá˝ á áŠá áá¨áá፠áĽá á áĽá ááľáááá˝á áŤá¨áááŁá
ha-promote-on-failure=when-synced
á áłááá˝ á áá áĽáá°áá ááá¨á á¨áťá áĽá á áŁá á ááŤáŤ áá¨ááť áŤáááľ! á áá áá፠á áľáááĄ=always
.ha-sync-mode=automatic
(ááá áá áľááá á¨áŚáá áá¨ááá˝ á áĽá ááľ áááá áá˝ááᤠáĽáá˛áá á áááááľ áááááśá˝ áĽáá˛á á áŤá°ááá¸á áĽáá°áá áááľ ááľáĽ áŤáľááĄ)- á¨á ááł áááłá áŁáá áľ á áá
- ááá áááááśá˝
áĽáľáŤáá áľá¨áľ áááá á¨áľá á°áľ ááťáťá áĽá á¨áá°á á°ááááľ ááłáŽá˝á á áá¸áááá; áááłá á áľá°áłá°áŤá áá°áśá˝á (áĽáá° ááá¨áŁáá ááťáťáŤ áŤá) á á°á á áĽáá´áľ áá¨ááá áĽáá°ááťáᢠáľá áá´áŹá˝á áĽá áľá á áŤá áááá áááááá á ááĽáá˘
áá ááá áŤááá á áĽáŁááá áŤáłáááá˘
á¨ááá á°ááá¨áľ
á á°á¨áłáłá ááľáĽ áŤá ááłá ááŁáĽáá˝áĄ-
ááĽá 1 -
ááĽá 2 -
ááĽá 3 -
ááá: hab.com