RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga

He kaupapa nui te manawanui me te waatea nui, no reira ka whakatapua e matou etahi tuhinga motuhake ki a RabbitMQ me Kafka. Ko tenei tuhinga mo RabbitMQ, ko te mea e whai ake nei mo Kafka, ki te rite ki a RabbitMQ. He tuhinga roa tenei, no reira kia pai koe.

Ka titiro tatou ki nga rautaki kawa hara, riterite, me te nui o te waatea (HA) rautaki me nga tauhokohoko ka mahia e ia rautaki. Ka taea e RabbitMQ te whakahaere i runga i te kahui node - katahi ka whakarōpūtia hei punaha toha. Ina tae mai ki nga punaha tohatoha, he maha nga wa e korero ana matou mo te rite me te waatea.

Ko enei ariā e whakaatu ana i te ahuatanga o te punaha ina rahua. Rahunga hononga whatunga, rahunga tūmau, rahunga puku mārō, te kore watea o te tūmau na te kohinga paru, te ngaronga o te paakete, te ngoikoretanga hononga whatunga ranei. Ka taea e enei katoa te arai ki te ngaronga raraunga, ki nga papā ranei. Te ahua nei karekau e taea te whakatakoto i tetahi punaha e rite tonu ana (kaore he ngaronga raraunga, kaore he rereketanga raraunga) me te waatea (ka whakaae ki te panui me te tuhi) mo nga ahuatanga rahua katoa.

Ka kite tatou ko te rite me te waatea kei nga pito o te awhiowhio, a me whiriwhiri koe ko tehea huarahi hei arotau. Ko te rongo pai ko te RabbitMQ ka taea tenei whiringa. Kei a koe enei momo "nerdy" ki te huri i te toenga ki te pai ake, ki te uru atu ranei.

Ka aro nui matou ki nga whirihoranga e arai ana ki te ngaronga raraunga na nga rekoata kua whakapumautia. He mekameka kawenga kei waenga i nga kaiwhakaputa, kaihokohoko me nga kaihoko. Kia tukuna te karere ki te kaihokohoko, ko tana mahi kia kaua e ngaro te karere. Ina whakaae te kaihokohoko ki te rironga mai o te karere a te kaiwhakaputa, kaore matou e whakaaro ka ngaro. Engari ka kite maatau ka puta tenei i runga i to kaihokohoko me to whirihoranga kaiwhakaputa.

Ko Nga Kohanga Kotahi Kohanga Resilience Primitives

Tūtira Manamau / Ararere

E rua nga momo rarangi i roto i te RabbitMQ: te roa me te kore-roa. Ka tiakina nga rarangi katoa ki te paataka raraunga Mnesia. Ka panuitia ano nga rarangi roa i te tiimatanga o te node, na reira ka ora ano i te tiimata ano, i te tukinga o te punaha, i te tukinga tūmau ranei (i te mea kei te mau tonu te raraunga). Ko te tikanga, i te mea e kii ana koe i te ararere (whakawhitinga) me te tutira kia mau tonu, ka hoki mai ano te hanganga ararere/whakahaere i runga ipurangi.

Ka tangohia nga tiira me te ararere i te wa ka timata ano te node.

Nga karere pumau

Na te mea he roa te tutira, ehara i te mea ka ora katoa ana karere i te tiimatanga ano. Ko nga karere anake i whakaritea e te kaiwhakaputa hei he kaha ake (mau tonu). Ko nga karere mau tonu ka hanga he kawenga taapiri mo te kaihokohoko, engari ki te kore e whakaaetia te ngaro o nga karere, karekau he whiringa kee.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 1. Taumatau matrix

Te whakarōpū me te whakaata tūtira

Ki te ora i te ngaronga o te kaihokohoko, ka hiahia tatou ki te whakaheke. Ka taea e tatou te whakakotahi i nga pona RabbitMQ maha ki roto i te kapoi, katahi ka taapiri atu i te taapiri ma te whakahoki i nga rarangi i waenga i nga pona maha. Ma tenei ara, ki te rahua tetahi pona, karekau e ngaro nga raraunga ka noho waatea tonu.

Whakaata tūtira:

  • kotahi te rarangi matua (master), ka whiwhi i nga whakahau tuhi me te panui katoa
  • kotahi, neke atu ranei nga whakaata ka whiwhi i nga karere me nga metadata katoa mai i te rarangi matua. Karekau enei whakaata i reira mo te whakamaarama, engari mo te whakaheke.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 2. Tutira whakaata

Ka whakatauhia te whakaata e te kaupapa here e tika ana. I roto ka taea e koe te kowhiri i te whakarea tukurua tae noa ki nga pona e tu ai te rarangi. Tauira:

  • ha-mode: all
  • ha-mode: exactly, ha-params: 2 (kotahi te rangatira me te whakaata)
  • ha-mode: nodes, ha-params: rabbit@node1, rabbit@node2

Whakaputanga kaiwhakaputa

Hei whakatutuki i te rekoata riterite, me whakaū te Kaituhi. Ki te kore ratou, he tupono ka ngaro nga karere. Ka tukuna he whakamanatanga ki te kaiwhakaputa i muri i te tuhi i te karere ki te kōpae. Ka tuhi a RabbitMQ i nga karere ki te kopae kaua i runga i te whiwhinga, engari i ia wa, i roto i te rohe o te maha rau manomano. Ina whakaatahia he rarangi, ka tukuna he mihi i muri i te tuhi o nga whakaata katoa i o raatau kape o te karere ki te kōpae. Ko te tikanga ko te whakamahi i nga whakapumautanga ka taapiri i te roanga, engari mena he mea nui te haumarutanga raraunga, katahi ka tika.

Tūtira hinga

Ka mutu, ka tukinga ranei tetahi kaihokohoko, ka tukinga tahi nga kaiarahi o te rarangi (rangatira) o taua pona. Ka tohua e te tautau te whakaata tawhito o ia rangatira ka whakatairangatia hei rangatira hou.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 3. He maha nga rarangi whakaata me o raatau kaupapa here

Ka heke te Kaihokohoko 3. Kia mahara ko te whakaata o Queue C i runga i te Kaihokohoko 2 kei te whakatairangahia hei rangatira. Kia mahara ano kua hangaia he whakaata hou mo te Tutira C i runga i te Kaihokohoko 1. Ka ngana tonu a RabbitMQ ki te pupuri i te take tukurua kua tohua ki o kaupapa here.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 4. Ka rahua te Kaihokohoko 3, ka rahua te rarangi C

Ka taka te Kaihokohoko 1 e whai ake nei! Kotahi noa te kaihokohoko e toe ana. Ka whakatairangahia te whakaata o Queue B ki te rangatira.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
Fig. 5

Kua whakahokia mai e matou te Kaihokohoko 1. Ahakoa te pai o te oranga o te raraunga i te ngaronga me te whakaora mai o te kaihokohoko, ka makahia nga karere rarangi whakaata katoa ina timata ano. He mea nui tenei kia maumahara na te mea ka puta nga hua. Ka ata titiro tatou ki enei paanga. Na ko te Kaihokohoko 1 he mema ano mo te roopu, a ka ngana te roopu ki te whai i nga kaupapa here, na reira ka hanga whakaata i runga i te Kaihokohoko 1.

I tenei keehi, kua oti te ngaro o te Kaihokohoko 1, pera ano me nga raraunga, na reira i ngaro katoa te Queue B kore whakaata.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 6. Ka hoki mai te Kaihokohoko 1 ki te mahi

Kua hoki mai a Broker 3 ki runga ipurangi, no reira ko nga rarangi A me B ka whakahoki mai i nga whakaata i hangaia ki runga kia pai ai o raatau kaupapa here HA. Inaianei ko nga rarangi matua katoa kei runga i te kohanga kotahi! Kaore tenei i te pai, he pai ake te tohatoha i waenga i nga pona. Kia aroha mai, kaore he maha o nga whiringa i konei mo te whakahoki i nga rangatira. Ka hoki mai ano tatou ki tenei take na te mea me titiro ki te tukutahinga rarangi i te tuatahi.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 7. Ka hoki mai a Broker 3 ki te mahi. Ko nga rarangi matua katoa i runga i te node kotahi!

Na inaianei me whai whakaaro koe me pehea e tukuna ai e nga whakaata te whakaheke me te aukati i te he. Ma tenei ka whakapumau i te watea ina pa mai te korenga o te pona kotahi me te tiaki i te ngaronga raraunga. Engari kaore ano kia oti, na te mea he tino uaua ake.

Tukutahi

I te wa e hanga ana he whakaata hou, ka tukuna nga karere hou katoa ki tenei whakaata me etahi atu. Mo nga raraunga kei roto i te rarangi matua, ka taea e tatou te tuku ki te whakaata hou, ka waiho hei kape katoa o te rangatira. Ka taea hoki e tatou te whiriwhiri kia kaua e tukurua nga karere o mua me te tuku i te rarangi matua me te whakaata hou ki te hono i te waa, me nga karere hou ka tae mai ki te hiku me nga karere o mua ka waiho i te upoko o te rarangi matua.

Ko tenei tukutahi ka mahia aunoatia, a-ringa ranei, ka whakahaeretia ma te whakamahi i te kaupapa here tūtira. Ka titiro tatou ki tetahi tauira.

E rua o matou rarangi whakaata. Ka tukutahi aunoa a Tūtira A, ā, ka tukutahi ā-ringa te Tūtira B. Tekau nga karere kei roto i nga rarangi e rua.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 8. E rua nga rarangi me nga momo tukutahi rereke

Inaianei kei te ngaro tatou i te Kaihokohoko 3.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 9. Ka hinga te Kaihokohoko 3

Ka hoki mai a Broker 3 ki te mahi. Ka hangaia e te tautau he whakaata mo ia tūtira ki te kōpuku hou, ka tukutahi aunoa i te Tūtira A hou me te rangatira. Heoi, kei te noho kau tonu te whakaata o te Tūtira B hou. Ma tenei ka whai waahi katoa tatou i runga i te Tutira A me te whakaata kotahi noa mo nga karere o te Tūtira B.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 10. Ka whiwhi te whakaata hou o Tūtira A i ngā karere o mua, engari karekau te whakaata hou o Tūtira B.

Tekau atu nga karere ka tae mai ki nga rarangi e rua. Ka tukinga te Kaihokohoko 2 ka hoki a Queue A ki te whakaata tawhito, kei runga i te Kaihokohoko 1. Karekau he ngaronga raraunga ina rahua. I te Tutira B, e rua tekau nga karere kei roto i te rangatira, tekau noa iho i roto i te whakaata na te mea kaore tenei rarangi i whakahoki i nga karere kotahi tekau.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 11. Ka hoki mai a Queue A ki te Kaihokohoko 1 me te kore e ngaro nga karere

Tekau atu nga karere ka tae mai ki nga rarangi e rua. Inaianei kua pakaru te Kaihokohoko 1. Tutira A ka huri ngawari ki te whakaata me te kore e ngaro nga karere. Heoi, kei te raru a Tūtira B. I tenei wa ka taea e taatau te arotau i te waatea, te rite ranei.

Mena kei te pirangi matou ki te arotau i te urunga, na te kaupapa here ha-whakatairanga-i runga i te kore me whakauru ki roto tonu. Koinei te uara taunoa, na reira kaore e taea e koe te tautuhi i te kaupapa here. I tenei keehi, kei te whakaaehia e matou nga rahunga i roto i nga whakaata kore tukutahi. Ma tenei ka ngaro nga karere, engari ka noho tonu te rarangi ki te panui me te tuhi.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 12. Ka hurihia te rarangi A ki te Kaihokohoko 3 me te kore e ngaro nga karere. Ka hoki mai a Queue B ki te Kaihokohoko 3 me nga karere tekau kua ngaro

Ka taea hoki e matou te whakauru ha-promote-on-failure ki te tikanga when-synced. I tenei keehi, kaore i te huri ki te whakaata, ka tatari te rarangi kia hoki mai a Broker 1 me ona raraunga ki te aratau ipurangi. I muri i tana hokinga mai, ka hoki ano te rarangi matua ki te Kaihokohoko 1 kaore he ngaronga raraunga. Ka patua te waatea mo te haumarutanga raraunga. Engari he ahua kino tenei ka taea e koe te whakaoti i te ngaronga o nga raraunga, ka tirohia e maatau.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 13. Karekau tonu te Tutira B i muri i te ngaronga o te Kaihokohoko 1

Ka patai pea koe, "He pai ake te kore e whakamahi i te tukutahi aunoa?" Ko te whakautu he mahi aukati te tukutahi. I te wa o te tukutahi, kaore e taea e te rarangi matua te mahi panui, tuhi ranei!

Ka titiro tatou ki tetahi tauira. Inaianei he roa rawa a matou rarangi. Me pehea e taea ai e ratou te tipu ki te rahi? He maha nga take:

  • Kaore i te kaha te whakamahi i nga rarangi
  • Ko enei nga rarangi tere tere, a inaianei kei te puhoi nga kaihoko
  • He nui te tere o nga rarangi, kua raru, kei te hopu nga kaihoko

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 14. E rua nga rarangi nui me nga momo tukutahi rereke

Inaianei kua hinga a Broker 3.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 15. Ka taka te Kaihokohoko 3, ka waiho he ariki me te whakaata i ia rarangi

Ka hoki mai a Broker 3 ki runga ipurangi ka hangaia nga whakaata hou. Ko te Tutira Matua A ka timata ki te whakahoki i nga karere o mua ki te whakaata hou, a i tenei wa kaore i te waatea te Tutira. E rua haora te roa ki te tukurua i nga raraunga, ka puta he rua haora mo te wa mo tenei Tutira!

Heoi, kei te waatea tonu te Tutira B puta noa i te waa katoa. I whakaekea e ia etahi taapiri mo te uru atu.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 16. Karekau tonu te rarangi i te wa e tukutahi ana

Whai muri i nga haora e rua, ka waatea ano te Tutira A ka taea te timata ki te whakaae panui me te tuhi ano.

Ngā whakahou

Ko tenei whanonga aukati i te wa tukutahi ka uaua ki te whakahou i nga tautau ki nga rarangi nui rawa atu. I tetahi wa, me whakaara ano te node matua, ko te tikanga ka huri ki te whakaata, ki te whakakore ranei i te rarangi i te wa e whakahouhia ana te tūmau. Mena ka whiriwhiri tatou ki te whakawhiti, ka ngaro nga korero ki te kore nga whakaata e tukutahi. Ma te taunoa, i te wa e paheke ana te kaihokohoko, karekau e mahia he ngoikoretanga ki te whakaata kore tukutahi. Ko te tikanga ka hoki mai ano te kaihokohoko, kaore matou e ngaro nga korero, ko te kino anake ko te rarangi ngawari. Ko nga ture o te whanonga ina momotuhia te kaihokohoko ka whakatauhia e te kaupapa here ha-promote-on-shutdown. Ka taea e koe te whakarite i tetahi o nga uara e rua:

  • always= ka taea te whakawhiti ki nga whakaata kore tukutahi
  • when-synced= whakawhiti ki te whakaata tukutahi anake, ki te kore ka kore e taea te panui me te kore e taea te tuhi. Ka hoki mai te rarangi ki te ratonga ina hoki mai te kaihokohoko

Ko tetahi huarahi, tetahi atu ranei, me nga rarangi nui me whiriwhiri koe i waenga i te ngaronga raraunga me te kore e waatea.

Ina Whakapai ake te Waetanga i te Haumarutanga Raraunga

He raruraru ano hei whakaaro i mua i to whakatau. Ahakoa he pai ake te tukutahitanga aunoa mo te taapiri, me pehea te paanga ki te haumarutanga raraunga? Ae ra, me te pai ake o te mahi, ka iti ake te ngaro o nga karere a RabbitMQ, engari me pehea nga karere hou mai i nga kaiwhakaputa?

I konei me whai whakaaro koe ki nga mea e whai ake nei:

  • Ka taea e te kaiwhakaputa te whakahoki mai i tetahi hapa ka tono te ratonga whakarunga, te kaiwhakamahi ranei ki te ngana ano i muri mai?
  • Ka taea e te kaiwhakaputa te tiaki i te karere ki te rohe, ki te papaunga raraunga ranei hei ngana ano a muri ake?

Mena ka taea e te kaiwhakaputa te whakakore noa i te karere, na, ko te whakapai ake i te urunga ka pai ake te haumarutanga raraunga.

No reira, me rapu he toenga, a ko te otinga ka whakawhirinaki ki te ahuatanga motuhake.

Nga raruraru me te ha-promote-on-failure=whan-tukutahi

Idea ha-whakatairanga-i runga i te kore= ina tukutahi ko te aukati i te huri ki te whakaata kaore i tukutahia ka kore e ngaro nga raraunga. Kare tonu te rarangi e taea te panui, te tuhi ranei. Engari, ka ngana taatau ki te whakaora i te kaihokohoko kua pakaru me ona raraunga kia taea ai e ia te mahi ano hei rangatira kaore he ngaronga raraunga.

Engari (he mea nui tenei engari) mena kua ngaro ana raraunga te kaihokohoko, na he raru nui ta tatou: kua ngaro te rarangi! Kua ngaro nga raraunga katoa! Ahakoa kei a koe nga whakaata e mau ana i te nuinga o te rarangi matua, ka rukea hoki aua whakaata.

Hei taapiri ano i tetahi node me te ingoa ano, ka kii atu ki te tautau kia warewarehia te node kua ngaro (me te whakahau rabbitmqctl wareware_cluster_node) a ka timata i tetahi kaihokohoko hou me te ingoa rangatira kotahi. Ahakoa e maumahara ana te kahui ki te node kua ngaro, ka maumahara ia ki te rarangi tawhito me nga whakaata kore tukutahi. Ka kiia he kapoi kia wareware i tetahi pona pani, ka warewaretia ano taua rarangi. Inaianei me whakapuaki ano. I ngaro nga raraunga katoa, ahakoa he whakaata me etahi waahanga raraunga. He pai ke ki te huri ki te whakaata kore-tukutahi!

Na reira, tukutahi a-ringa (me te kore ki te tukutahi) i roto i te whakakotahitanga me ha-promote-on-failure=when-synced, ki taku whakaaro, he tino morearea. E ai ki nga tuhinga kei te noho tenei whiringa mo te haumarutanga raraunga, engari he maripi mata-rua.

Te whakataurite matua

Ka rite ki te oati, ka hoki ano tatou ki te raru o te kohi o nga rangatira katoa i runga i te kotahi, i etahi waahanga ranei. Ka puta pea tenei na te whakahoutanga o te roopu roopu. I roto i te tautau toru-node, ka whakaemi nga rarangi matua katoa i runga i te kotahi, e rua ranei nga pona.

Ka raru pea nga rangatira mo nga take e rua:

  • Kaore he taputapu pai ki te mahi i te whakatikatika
  • Tutira tukutahi

He roopu tuatoru mo te whakatikatika mono, kaore i te tautoko mana. Mo nga taputapu tuatoru i roto i te pukapuka RabbitMQ ka mea: "Ka whakaratohia e te mono etahi taputapu taapiri me nga taputapu ripoata, engari kaore i te tautokohia, i te manatoko ranei e te roopu RabbitMQ. Whakamahia i runga i to tupono."

He mahinga ano hei neke i te rarangi matua ma nga kaupapa here HA. Ka whakahuahia e te pukapuka tuhinga mo tenei. He penei te mahi:

  • Ka tango i nga whakaata katoa ma te whakamahi i tetahi kaupapa here rangitahi he mea nui ake i te kaupapa here HA.
  • Ka huri i te kaupapa here rangitahi HA hei whakamahi i te aratau node, me te tohu i te pona hei whakawhiti i te rarangi matua.
  • Ka tukutahi i te rarangi mo te heke pana.
  • Ka oti te hekenga, ka mukua te kaupapa here rangitahi. Ka whai mana te kaupapa here HA tuatahi ka hangaia te maha o nga whakaata e hiahiatia ana.

Ko te kino ka kore pea tenei huarahi e whai hua mena he nui to rarangi, he nui nga whakaritenga mo te whakakore.

Inaianei kia kite tatou me pehea te mahi a nga tautau RabbitMQ me nga wehewehenga whatunga.

Te ngaronga hononga

Ko nga pona o te punaha tohatoha ka honohia e nga hononga whatunga, ka taea, ka momotuhia nga hononga whatunga. Ko te auautanga o nga mate ka whakawhirinaki ki te hanganga o te rohe, ki te pono ranei o te kapua kua tohua. Ahakoa he aha, me kaha nga punaha tohatoha ki te whakatutuki i a raatau. Ano ano ka whai waahi taatau ki waenga i te waatea me te rite tonu, a ko te rongo pai ko te RabbitMQ e whakarato ana i nga whiringa e rua (kaore i te wa kotahi).

Ma te RabbitMQ e rua nga whiringa matua:

  • Whakaaetia te wehewehenga arorau (roo wehewehe). Ma tenei ka whai waahi, engari ka ngaro pea nga raraunga.
  • Monokia te wehenga arorau. Ka ngaro pea te waatea mo te wa poto i runga i te hononga o nga kaihoko ki te tautau. Ka taea hoki te whakaoti i te kore wateatanga i roto i te kahui pona-rua.

Engari he aha te wehenga arorau? Koinei te wa e wehea ana te kahui kia rua na te ngaro o nga hononga whatunga. I ia taha, ka whakatairangahia nga whakaata ki te rangatira, na reira ka maha nga rangatira mo ia hurihanga.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 17. Tutira matua me nga whakaata e rua, kei runga i tetahi pona motuhake. Na ka puta he rahunga whatunga ka wehe tetahi whakaata. Ka kite te node kua wehea kua taka atu etahi atu e rua me te whakatairanga i ona whakaata ki te rangatira. E rua nga rarangi matua inaianei, ka taea te tuhi me te panui.

Mena ka tukuna e nga kaiwhakaputa nga raraunga ki nga rangatira e rua, ka mutu nga kape rereke e rua o te rarangi.

Ko nga momo momo rereke a RabbitMQ e whakarato ana i te waatea, i te rite ranei.

Waiho te aratau (taunoa)

Ma tenei aratau te urunga. I muri i te ngaronga o te hononga, ka puta he wehenga arorau. I muri i te whakahokinga mai o te hononga, me whakatau e te kaiwhakahaere ko tehea wehewehenga hei kaupapa matua. Ko te taha ngaro ka timata ano ka ngaro nga raraunga whakaemi katoa i tera taha.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 18. E toru nga kaiwhakaputa e hono ana ki nga kaihokohoko e toru. I roto, ka tukuna e te roopu nga tono katoa ki te rarangi matua i runga i te Kaihokohoko 2.

Inaianei kei te ngaro tatou i te Kaihokohoko 3. Ka kite ia kua hinga etahi atu kaihokohoko me te whakatairanga i tana whakaata ki te rangatira. Koinei te ahua o te wehewehenga arorau.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 19. Wehenga arorau (roo wehewehe). Ka uru nga rekoata ki nga rarangi matua e rua, ka rereke nga kape e rua.

Kua whakahokia te hononga, engari ka noho tonu te wehenga arorau. Me whiriwhiri a ringa e te kaiwhakahaere te taha ngaro. I roto i te keehi i raro nei, ka whakaara ano te kaiwhakahaere i te Kaihokohoko 3. Ko nga karere katoa kaore ia i whakahaere ki te tuku ka ngaro.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 20. Ka monohia e te kaiwhakahaere te Kaihokohoko 3.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 21. Ka timata te kaiwhakahaere i te Kaihokohoko 3 ka uru atu ki te roopu, ka ngaro nga karere katoa i mahue ki reira.

I te ngaronga o te hononga me muri i tana whakaoranga, i waatea te kahui me tenei rarangi mo te panui me te tuhi.

Aratau whakaoraAunoa

He rite te mahi ki te aratau Waiho, engari ko te tautau ka kowhiri aunoa i te taha ngaro i muri i te wehenga me te whakahoki mai i te hononga. Ka hoki te taha ngaro ki te tautau kau, ka ngaro nga karere katoa i tukuna ki tera taha anake.

Tatari Aratau Itiiti

Ki te kore matou e pai ki te tuku i te wehewehenga arorau, ko ta maatau anake ko te whakakore i nga panui me te tuhi ki te taha iti i muri i te wehenga kahui. Ka kite te kaihokohoko kei runga i te taha iti, ka aukati i te mahi, ara, ka kati i nga hononga o mua me te whakakore i nga mea hou. Kia kotahi ia hekona ka tirotirohia mo te whakahokinga hononga. Ina whakahokia te hononga, ka mahi ano ka hono atu ki te tautau.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 22. E toru nga kaiwhakaputa e hono ana ki nga kaihokohoko e toru. I roto, ka tukuna e te roopu nga tono katoa ki te rarangi matua i runga i te Kaihokohoko 2.

Ka wehe nga Kaihokohoko 1 me te 2 mai i te Kaihokohoko 3. Engari i te whakatairanga i to raatau whakaata ki te rangatira, ka whakatarewa te Kaihokohoko 3 ka kore e waatea.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 23. Ka okioki te Kaihokohoko 3, ka momotuhia nga kaihoko katoa, ka paopao ki nga tono hononga.

Kia whakahokia te hononga, ka hoki ki te tautau.

Ka titiro tatou ki tetahi atu tauira kei hea te rarangi matua kei runga i te Kaihokohoko 3.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 24. Tūtira matua i runga i te Kaihokohoko 3.

Na ka puta ano te ngaronga o te hononga. Ka okioki te Kaihokohoko 3 na te mea kei te taha iti. I tera taha, ka kite nga pona kua hinga a Broker 3, na reira ka whakatairangahia te whakaata tawhito mai i nga Kaihokohoko 1 me 2 ki te rangatira.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 25. Whakawhiti ki te Kaihokohoko 2 ki te kore te Kaihokohoko 3 e waatea.

Ina whakahokia te hononga, ka uru a Broker 3 ki te tautau.

RabbitMQ vs Kafka: Whakaaetanga Hapa me te Waatanga Nui i roto i nga Huihuinga
raihi. 26. Kua hoki te kahui ki te mahi noa.

Ko te mea nui kia maarama i konei ko te whiwhi rite tonu, engari ka taea ano e tatou te waatea, ki te Ka angitu taatau ki te whakawhiti i nga kaihoko ki te nuinga o te waahanga. Mo te nuinga o nga ahuatanga, ko au ake te whiriwhiri i te aratau Pause Minority, engari ka whakawhirinaki ki te keehi takitahi.

Hei whakarite i te waatea, he mea nui ki te whakarite kia hono pai nga kaihoko ki te kaihautu. Kia titiro tatou ki o tatou whiringa.

Te Whakapumau i te Hononga Kaihoko

He maha nga whiringa mo te arahi i nga kaihoko ki te waahanga matua o te tautau, ki te mahi pona (i muri i te korenga o tetahi pona) i muri i te ngaronga o te hononga. Tuatahi, kia maumahara tatou kei te manaakihia tetahi rarangi motuhake ki runga i tetahi pona motuhake, engari ko te ararere me nga kaupapa here ka tukuna ki nga pona katoa. Ka taea e nga kaihoko te hono atu ki tetahi node, ma te ararere o roto e arahi ki te waahi e tika ana kia haere. Engari ki te whakatarewahia tetahi node, ka whakakorehia e ia nga hononga, no reira me hono nga kaihoko ki tetahi atu node. Mena ka taka te node, he iti noa nga mea ka taea e ia.

Ko o maatau whiringa:

  • Ka uru atu te kapoi ma te whakamahi i te taurite kawenga ka huri noa i roto i nga pona ka ngana ano nga kaihoko ki te hono kia angitu. Mena kua heke, kua whakatarewahia ranei tetahi pona, ka rahua te ngana ki te hono atu ki taua pona, engari ka haere nga nganatanga ka whai ake ki etahi atu tūmau (i roto i te ahua huri noa). He pai tenei mo te ngaronga o te hononga mo te wa poto, mo te tūmau kua heke ka tere te whakahoki mai.
  • Uru ki te kapoi ma te taurite kawenga ka tango i nga pona kua whakatarewa/rahua mai i te rarangi ka kitea. Mena ka tere taatau ki te mahi, a mena ka taea e nga kaihoko te tarai ano i te hononga, ka tutuki maatau te waatea tonu.
  • Hoatu ki ia kiritaki he rarangi o nga pona katoa, ka kowhiri matapōkeretia e te kiritaki tetahi o aua pona ina hono ana. Mena ka puta he hapa i te wa e ngana ana ki te hono, ka neke ki te pona e whai ake nei i roto i te rarangi kia hono ra ano.
  • Tango waka mai i te node i rahua/tarewa ma te whakamahi i te DNS. Ka mahia tenei ma te whakamahi i te TTL iti.

kitenga

Ko te kohinga RabbitMQ he painga me nga ngoikoretanga. Ko nga kino tino kino ko:

  • i te wa e hono ana ki te tautau, ka whakakorehia e nga pona nga raraunga;
  • ma te aukati i te tukutahi ka kore e waatea te rarangi.

Ko nga whakatau uaua katoa ka ahu mai i enei ahuatanga hoahoanga e rua. Mena ka taea e RabbitMQ te penapena raraunga ina hono ano te tautau, ka tere ake te tukutahi. Mena ka taea e ia te tukutahi-kore, ka pai ake te tautoko i nga rarangi nui. Ma te whakatika i enei take e rua ka tino pai ake te mahi a RabbitMQ hei hangarau tuku korero he-kore me te tino watea. Kei te mangere ahau ki te kii i a RabbitMQ me te kohinga i roto i nga ahuatanga e whai ake nei:

  • Whatunga kore pono.
  • Te rokiroki kore.
  • Tino roa nga rarangi.

Ina tae mai ki nga tautuhinga waatea teitei, whakaarohia nga mea e whai ake nei:

  • ha-promote-on-failure=always
  • ha-sync-mode=manual
  • cluster_partition_handling=ignore (ranei autoheal)
  • karere mau tonu
  • whakarite kia hono nga kiritaki ki te node hohe ina rahua etahi node

Mo te riterite (haumarutanga raraunga), whakaarohia nga tautuhinga e whai ake nei:

  • Ka Whakamanahia e te Kaiwhakaputa me nga mihi a-ringa ki te taha kaihoko
  • ha-promote-on-failure=when-synced, mena ka taea e nga kaiwhakaputa te ngana ano i muri mai me te mea kei a koe te rokiroki pono! Te kore hoatu =always.
  • ha-sync-mode=automatic (engari mo nga tutira nui hohekore ka hiahiatia te aratau-a-ringa; me whakaaro hoki mena ka ngaro nga karere kaore i te waatea)
  • Tatari te aratau Itiiti
  • karere mau tonu

Kare ano matou i korero mo nga take katoa mo te whakararu i te he me te nui o te waatea; hei tauira, me pehea te whakahaere i nga tikanga whakahaere (penei i nga whakahou hurihuri). Me korero ano tatou mo te federation me te Shovel plugin.

Mena kua ngaro ahau i tetahi atu mea, tena koa whakamohio mai.

Tirohia hoki taku pou, i reira ka mahia e ahau he kino ki runga i te roopu RabbitMQ ma te whakamahi i te Docker me te Blockade hei whakamatautau i etahi o nga ahuatanga ngaro o te karere i whakaahuahia i tenei tuhinga.

Tuhinga o mua i roto i te raupapa:
Nama 1 - habr.com/ru/company/itsumma/blog/416629
Nama 2 - habr.com/ru/company/itsumma/blog/418389
Nama 3 - habr.com/ru/company/itsumma/blog/437446

Source: will.com

Tāpiri i te kōrero