RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga

В mataupu mulimuli na matou vaʻavaʻai i le faʻapipiʻiina o RabbitMQ mo le faʻapalepale sese ma le maualuga o avanoa. Ia tatou eli loloto i totonu o Apache Kafka.

O le iunite o le toe faia o le vaeluaga. O autu taitasi e tasi pe sili atu vaega. E tofu vaega taitasi ma se taitai e i ai pe leai foi ni tagata mulimuli. Pe a fatuina se autu, e te faʻamaonia le numera o vaeluaga ma le faʻasologa faʻasologa. O le tau masani o le 3, o lona uiga e tolu kopi: tasi le taʻitaʻi ma le lua mulimuli.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 1. E fa vaega e tufatufa atu i le au fai pisinisi e tolu

O talosaga uma e faitau ma tusitusi e alu i le taitai. E auina atu e le au mulimuli i lea taimi ma lea taimi talosaga i le taitai ina ia maua mai savali lata mai. O tagata fa'atau e le liliu atu i tagata mulimuli; o le vaega mulimuli e na'o le toe fa'aaogaina ma le fa'apalepale o sese.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga

Fa'aletonu le vaeluaga

A toilalo se faioloa, e masani ona toilalo taitai o nisi vaega. I totonu o ia mea taʻitasi, o se tagata mulimuli mai se isi node e avea ma taʻitaʻi. O le mea moni, e le o taimi uma e tupu ai, talu ai o le faʻaogaina o mea e aʻafia ai foi: pe o iai ni faʻasalalauga faʻatasi, ma afai e leai, pe faʻatagaina le sui i se kopi le faʻaogaina. Ae aua nei tatou faafaigata mea mo le taimi nei.

Ua tuua e Broker 3 le fesootaiga, ma ua filifilia se taitai fou mo le vaega 2 i le tagata fai pisinisi 2.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 2. Ua maliu le Broker 3 ma o lona soo i le broker 2 ua filifilia e avea ma taitai fou o le vaega 2

Ona alu ese lea o le faioloa 1 ma le vaega 1 foi ua leiloa lona ta'ita'i, o lana matafaioi e pasi atu i le faioloa 2.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 3. E tasi le tagata fai pisinisi o totoe. O taʻitaʻi uma o loʻo i luga o le tasi tagata fai pisinisi e leai se faʻasalaga

A toe foʻi mai le tagata fai pisinisi 1 i luga ole laiga, e faʻaopoopoina tagata mulimuli e toafa, e tuʻuina atu ai se faʻaogaina i vaega taʻitasi. Ae na tumau pea taʻitaʻi uma i luga o le broker 2.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 4. E tumau pea ta'ita'i ile faioloa 2

A oʻo mai le tagata faʻatau 3, matou te toe foʻi i le tolu kopi i le vaeluaga. Ae o taʻitaʻi uma o loʻo i luga o le broker 2.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 5. Tulaga le paleni o taʻitaʻi pe a maeʻa le toe faʻaleleia o le aufaipisinisi 1 ma le 3

Kafka ei ai se meafaigaluega mo le toe faʻaleleia atili o taʻitaʻi nai lo RabbitMQ. O iina, e tatau ona e faʻaogaina se faʻapipiʻi lona tolu poʻo se tusitusiga na suia ai faiga faʻavae mo le femalagaiga o le master node e ala i le faʻaitiitia o le toe faʻaaogaina i le taimi o femalagaiga. E le gata i lea, mo laina tetele e tatau ona matou talia le le avanoa i le taimi o le fa'amaopoopoina.

Kafka ei ai le manatu o "fa'atusa e sili ona fiafia i ai" mo le matafaioi ta'ita'i. Pe a faia ni vaega o autu, e taumafai Kafka e tufatufa taʻitaʻi tutusa i pona ma faailoga na taʻitaʻi muamua e fiafia i ai. I le aluga o taimi, ona o le toe faʻaleleia o le 'auʻaunaga, faʻaletonu, ma fesoʻotaʻiga malepelepe, e mafai ona faʻamutaina taʻitaʻi i isi nodes, e pei o le tulaga ogaoga o loʻo faʻamatalaina i luga.

Ina ia faʻaleleia lenei mea, e lua filifiliga e ofoina atu e Kafka:

  • Filifiliga auto.leader.rebalance.enable=true fa'atagaina le node pule e toe fa'afo'i atu ta'ita'i i fa'atusa e mana'omia ma toe fa'afo'i ai le tufaina o toniga.
  • E mafai e le pule ona faʻatautaia le tusitusiga kafka-preferred-replica-elections.sh mo le toe tofiaina o tusilima.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 6. Fa'atusa ina ua uma ona toe fa'apaleni

O se faʻamatalaga faigofie lea o le toilalo, ae o le mea moni e sili atu ona faigata, e ui lava e leai se mea faigata tele iinei. E sau uma i lalo i faʻasologa faʻasologa (In-Sync Replicas, ISR).

Fa'atusa Fa'atasi (ISR)

O le ISR o se seti o faʻataʻitaʻiga o se vaeluaga e taʻua o le "synchronized" (in-sync). E iai le taʻitaʻi, ae atonu e leai ni tagata mulimuli. O le tagata mulimuli e manatu e fa'amaopoopo pe afai na ia faia ni kopi sa'o o fe'au uma a le ta'ita'i a'o le'i uma le vaitaimi. replica.lag.time.max.ms.

E aveese se tagata mulimuli mai le seti ISR ​​pe afai e:

  • e le'i faia se talosaga e filifili mo le vaitaimi replica.lag.time.max.ms (faapea ua maliu)
  • e le'i mafai ona fa'afouina i le taimi o le va replica.lag.time.max.ms (manatu lemu)

E faia e le au mulimuli ni talosaga faataitai i le va replica.fetch.wait.max.ms, lea e faaletonu ile 500ms.

Ina ia faʻamalamalama manino le faʻamoemoe o le ISR, e manaʻomia ona tatou vaʻavaʻai i faʻamaoniga mai le gaosiga ma nisi faʻalavelave faʻaletonu. E mafai e tagata gaosi oloa ona filifili pe a tuʻuina atu e le tagata fai pisinisi se faʻamaoniga:

  • acks=0, e le'i auina atu le fa'amaoniga
  • acks=1, e auina atu le faamaoniga pe a uma ona tusia e le taitai se savali i lana ogalaau i le lotoifale
  • acks = uma, faʻamaoniga e tuʻuina atu pe a maeʻa uma kopi i le ISR na tusia le feʻau i ogalaau i le lotoifale

I upu a Kafka, afai na teuina e le ISR se feʻau, e "tuuina atu". Acks=uma o le filifiliga sili ona saogalemu, ae faʻaopoopo faʻaopoopo le tuai. Se'i o tatou va'ai i ni fa'ata'ita'iga se lua o le toilalo ma pe fa'afefea ona fegalegaleai le 'acks' filifiliga ma le manatu ISR.

Acks=1 ma le ISR

I lenei faʻataʻitaʻiga, o le a tatou vaʻai pe afai e le faʻatali le taʻitaʻi mo savali uma mai tagata mulimuli uma e faʻasaoina, ona mafai lea ona leiloa faʻamatalaga pe a le manuia le taʻitaʻi. E mafai ona fa'agaoioi pe fa'agata le fa'asaga i se tagata mulimuli e le'i fa'aogaina e ala i le fa'atulagaina le mama.leader.election.enable.

I lenei faʻataʻitaʻiga, o loʻo i ai i le kamupanī le tau aoga = 1. O le vaega o loʻo tufatufa atu i le au fai pisinisi uma e tolu. Broker 3 o loʻo i tua, faʻatasi ma le taʻitaʻi i le valu sekone talu ai ma o lea ua 7456 feʻau i tua. Broker 1 na o le tasi le sekone i tua. E auina atu e le matou tagata gaosi se feau ma vave ona toe maua mai se ack i tua, e aunoa ma le maualuga o le au soo tuai pe feoti e le o faatalitali i ai le taitai.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 7. ISR ma kopi e tolu

Ua le manuia le Broker 2 ma ua maua e le tagata gaosi se mea sese fesoʻotaʻiga. A mae'a ona pasi atu le ta'ita'i ile faioloa 1, e 123 a tatou fe'au e leiloa. O le soʻo i luga o le tagata faʻatau 1 o se vaega o le ISR, ae e leʻi faʻatasi atoatoa ma le taʻitaʻi pe a pa'ū.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 8. E leiloa fe'au pe a pa'u

I le faatulagaga bootstrap.servers O lo'o lisiina e le kamupani gaosi oloa le tele o tagata fai pisinisi ma e mafai ona fesili i se isi faioloa po'o ai le ta'ita'i fou o le vaega. Ona fa'atuina lea o se feso'ota'iga i le tagata fa'atau 1 ma fa'aauau pea le lafoina o fe'au.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 9. O le auina atu o savali e toe amata pe a uma se malologa puupuu

Broker 3 e sili atu i tua. E faia talosaga fetch ae le mafai ona sync. Atonu e mafua ona o le telegese o feso'ota'iga feso'ota'iga i le va o tagata fai pisinisi, fa'amaumauga o mea e teu ai, ma isi mea. Ua aveese mai le ISR. O le taimi nei o le ISR e aofia ai le tasi faʻatusa - o le taʻitaʻi! O loʻo faʻaauau pea ona auina atu e le kamupani gaosi feʻau ma maua faʻamaoniga.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 10. O le tagata e mulimuli i le faioloa 3 ua aveesea mai le ISR

O le Broker 1 e alu i lalo ae o le taʻitaʻi e alu i le failautusi 3 ma le leiloa o le 15286 feʻau! E maua e le kamupani gaosi se fe'au sese feso'ota'iga. O le suiga i se taʻitaʻi i fafo atu o le ISR na mafai ona o le faʻatulagaina unclean.leader.election.enable=true. Afai e faʻapipiʻi i totonu sese, ona le tupu lea o le suiga ma o le a teena uma talosaga faitau ma tusitusi. I lenei tulaga, matou te faʻatali mo le tagata faʻatau 1 e toe foʻi mai ma ana faʻamaumauga faʻamaonia i totonu o le kopi, lea o le a toe faʻaaogaina le taʻitaʻiga.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 11. Pa'u le Broker 1. A tupu se faaletonu, o le tele o feʻau e leiloa

E faʻatūina e le tagata gaosi se fesoʻotaʻiga ma le tagata fai pisinisi mulimuli ma vaʻaia o ia o le taʻitaʻi o le vaega. Ua amata ona ia auina atu savali i le tagata fai pisinisi 3.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 12. A maeʻa se malologa puupuu, e toe auina atu feʻau i le vaega 0

Na matou vaʻaia, e ese mai i faʻalavelave pupuu e faʻavae ai fesoʻotaʻiga fou ma suʻe se taʻitaʻi fou, o loʻo tuʻuina atu pea e le kamupanī ni feʻau. O lenei faʻatulagaga e faʻamautinoa ai le avanoa i le tau o le tumau (faʻamaumauga saogalemu). Na leiloa e Kafka le faitau afe o feʻau ae na faʻaauau pea ona talia tusitusiga fou.

Acks=uma ma le ISR

Se'i o tatou toe fai lenei fa'aaliga, ae fa'atasi acks=uma. Broker 3 o lo'o i ai le averesi o le umi e fa sekone. E auina atu e le kamupani gaosi se fe'au ma acks=uma, ma ua le maua nei se tali vave. O loʻo faʻatali le taʻitaʻi mo le feʻau e faʻasaoina e faʻataʻitaʻiga uma i le ISR.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 13. ISR ma fa'atusa e tolu. E telegese le tasi, e mafua ai ona tuai ona pu'eina

A mae'a le fa sekone o le fa'atuai fa'aopoopo, e tu'u atu e le tagata fa'atau 2 se ack. O fa'atusa uma ua mae'a fa'afouina.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 14. O fa'atusa uma e fa'asaoina savali ma lafo ack

Broker 3 ua pa'ū i tua ma ua aveese mai le ISR. E matua fa'aitiitia le Latency ona e leai ni fa'asologa tuai o totoe i le ISR. O lo'o fa'atali nei le Broker 2 mo na'o le tagata fa'atau 1, ma e 500 ms lona tuai.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 15. O le kopi o le tagata fai pisinisi 3 ua aveesea mai le ISR

Ona pa'u lea o le faioloa 2 ma pasi atu le ta'ita'i i le faioloa 1 e aunoa ma le leiloa o fe'au.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 16. Pa'u le Broker 2

E maua e le kamupani gaosi se taʻitaʻi fou ma amata ona lafo atu ni feʻau ia te ia. Ua fa'aitiitia atili le fa'aletonu ona o le ISR o lo'o iai nei i le tasi fa'atusa! O le mea lea o le filifiliga acks=uma e le fa'aopoopoina le fa'asili.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 17. Fa'atusa i le faioloa 1 e ta'imua e aunoa ma le leiloa o fe'au

Ona pa'u lea o le faioloa 1 ma alu atu le ta'imua i le faioloa 3 ma le leiloa o le 14238 fe'au!

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 18. Ua maliu le Broker 1 ma le suiga o le ta'ita'i ma le tulaga le mama e i'u ai i le tele o fa'amaumauga e leiloa

E le mafai ona matou fa'apipi'i le filifiliga le mama.leader.election.enable i le uiga moni. I le faaletonu e tutusa ma sese. Fa'atonu acks=uma с unclean.leader.election.enable=true e maua ai le avanoa fa'atasi ma nisi fa'aopoopo fa'amaumauga fa'amaumauga. Ae e pei ona e vaʻai, e mafai lava ona tatou leiloa savali.

Ae faʻapefea pe a tatou mananaʻo e faʻateleina le saogalemu o faʻamatalaga? E mafai ona e tuu unclean.leader.elections.enable = sese, ae o le a le puipuia ai i tatou mai le leiloa o faʻamaumauga. Afai na pa'ū malosi le taʻitaʻi ma ave faʻamaumauga, ona leiloa lea o feʻau, faʻatasi ai ma le avanoa e leiloa seʻia toe faʻafoʻi e le pule le tulaga.

E sili atu le faʻamautinoa o feʻau uma e tele, ma a le o lea e lafoaʻi le puʻeina. Ma, a itiiti mai mai le vaaiga a le tagata fai pisinisi, o faʻamatalaga leiloa e naʻo le mea e tupu pe a lua pe sili atu faʻaletonu i le taimi e tasi.

Acks=uma, min.insync.replicas ma le ISR

Faatasi ai ma le faatulagaga autu min.insync.replicas O loʻo matou faʻateleina le tulaga o le saogalemu o faʻamatalaga. Sei o tatou toe alu i le vaega mulimuli o le vaaiga muamua, ae o le taimi lenei ma min.insync.replicas=2.

O lea la o le tagata faʻatau 2 o loʻo i ai se faʻataʻitaʻiga taʻitaʻi ma o le tagata mulimuli i le tagata faʻatau 3 ua aveesea mai le ISR.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 19. ISR mai kopi e lua

Pa'u le Broker 2 ma pasi atu le ta'ita'i i le faioloa 1 e aunoa ma le leiloa o fe'au. Ae o le taimi nei o le ISR e naʻo le tasi le kopi. E le ausia e lenei mea le numera maualalo e maua ai faʻamaumauga, ma o le mea lea e tali atu ai le tagata fai pisinisi i le taumafaiga tusitusi ma se mea sese Fa'ailoga Fa'atusa.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 20. O le numera o ISR e tasi le maualalo nai lo le faʻamaonia i le min.insync.replicas

O lenei fa'atulagaga e fa'atauina ai le avanoa mo le fa'aauau. Aʻo leʻi faʻaalia se feʻau, matou te faʻamautinoa o loʻo tusia i ni kopi se lua. O lenei mea e maua ai e le kamupani gaosi le tele o le mautinoa. O iinei, e na'o le leiloa o le fe'au e mafai pe afai e lua fa'atusa e le manuia i le taimi e tasi i se taimi puupuu se'ia o'o ina toe fa'afo'i le fe'au i se isi tagata mulimuli, lea e le taumate. Ae afai o oe e sili ona le mautonu, e mafai ona e setiina le mea e toe faia i le 5, ma min.insync.replicas e 3. O iinei e tatau ona pa'u'u i le taimi e tasi le au fai pisinisi e tolu e leiloa le faamaumauga! Ioe, e te totogia lenei faʻatuatuaina i se faʻaopoopoga faʻagata.

Pe a mana'omia le avanoa mo le saogalemu o fa'amaumauga

E pei o mataupu ma RabbitMQ, o nisi taimi e manaʻomia le faʻaogaina mo le saogalemu o faʻamatalaga. O mea nei e tatau ona e mafaufau i ai:

  • E mafai e le tagata tala'i ona toe fa'afo'i mai se mea sese ma toe taumafai le 'au'aunaga i luga po'o le tagata fa'aoga mulimuli ane?
  • E mafai e le tagata tala'i ona sefe le fe'au i le lotoifale po'o totonu o se fa'amaumauga e toe taumafai mulimuli ane?

Afai o le tali e leai, o le fa'amalieina o avanoa e fa'aleleia ai le saogalemu o fa'amaumauga. E itiiti fa'amaumauga e te leiloa pe a e filifili avanoa nai lo le pu'eina. O le mea lea, e sau uma i lalo i le sailia o se paleni, ma o le filifiliga e faʻalagolago i le tulaga patino.

Le uiga o le ISR

O le ISR suite e mafai ai e oe ona filifili le paleni sili ona lelei i le va o le saogalemu o faʻamatalaga ma le taofiofia. Mo se faʻataʻitaʻiga, faʻamautinoa le avanoa pe a faʻaletonu le tele o faʻataʻitaʻiga, faʻaitiitia le aʻafiaga o faʻataʻitaʻiga ua mate poʻo faʻagesegese e tusa ai ma le taofiofia.

Tatou te filifilia lava le uiga replica.lag.time.max.ms e tusa ai ma ou mana'oga. O le mea moni, o lenei fa'ailoga o lona uiga o le tele o le tuai tatou te naunau e talia pe a acks=uma. Ole tau fa'aletonu ole sefulu sekone. Afai e umi tele lenei mea mo oe, e mafai ona e faʻaititia. Ona faʻateleina lea o suiga i le ISR, talu ai o le a aveesea tagata mulimuli ma faʻaopoopo atili.

RabbitMQ ua na o se seti o faʻata e manaʻomia ona toe fai. O fa'ata fa'agesegese e fa'ailoa mai ai le fa'aopoopo fa'agata, ma fa'ata mate e mafai ona fa'atali se'ia o'o ina fa'ailoa mai e fa'ailoga o lo'o siaki le avanoa o node ta'itasi (net tick) e tali mai. O le ISR o se auala manaia e aloese ai mai nei fa'afitauli fa'aletonu. Ae matou te lamatia le leiloa o le toe faigaluega talu ai o le ISR e mafai ona faʻaitiitia i le taʻitaʻi. Ina ia aloese mai lenei tulaga lamatia, faʻaaoga le seti min.insync.replicas.

Fa'amaonia feso'ota'iga a tagata fa'atau

I tulaga bootstrap.servers e mafai e le tagata gaosi oloa ma le tagata fa'atau ona fa'amaonia le tele o tagata fai pisinisi e fa'afeso'ota'i tagata fa'atau. O le manatu e faapea pe a alu i lalo le pona e tasi, e tele naua e totoe e mafai ona tatala ai e le kalani se sootaga. O nei mea e le o ni ta'ita'i vaega, ae na o se punavai mo le utaina muamua. E mafai e le tagata o tausia ona fesili po o le fea node e fa'afeiloa'i ai le ta'ita'i vaeluaga faitau/tusi.

I le RabbitMQ, e mafai e tagata faʻatau ona faʻafesoʻotaʻi i soʻo se node, ma o le auala i totonu e lafo atu le talosaga i le mea e tatau ona alu i ai. O lona uiga e mafai ona e faʻapipiʻi se paleni uta i luma ole RabbitMQ. E mana'omia e Kafka tagata fa'atau e fa'afeso'ota'i i le node e fa'afeiloa'i ai le ta'ita'i vaeluaga tutusa. I se tulaga faapena, e le mafai ona e faʻapipiʻi se uta paleni. Lisi bootstrap.servers E taua tele le mafai e tagata fa'atau ona maua ma su'e ia nodes sa'o pe a fa'aletonu.

Kafka Consensus Architecture

E oʻo mai i le taimi nei, matou te leʻi mafaufau pe faʻafefea ona aʻoaʻoina e le fuifui e uiga i le pa'ū o le tagata fai pisinisi ma le auala e filifilia ai se taʻitaʻi fou. Ina ia malamalama pe faʻapefea ona galue Kafka ma vaeluaga o fesoʻotaʻiga, e tatau ona e malamalama muamua i le faʻatulagaina o maliega.

O fuifui Kafka ta'itasi o lo'o fa'apipi'iina fa'atasi ma se fa'aputuga Zookeeper, o se 'au'aunaga tu'ufa'atasia tu'ufa'atasia lea e mafai ai e le faiga ona o'o atu i le maliliega i se isi setete, fa'amuamua le tumau nai lo le avanoa. E mana'omia le fa'atagaga a le tele o node a le Zookeeper e fa'amaonia ai galuega faitau ma tusitusi.

E teuina e Zookeeper le tulaga o le fuifui:

  • Lisi o autu, vaega, faʻatulagaga, faʻataʻitaʻiga taʻitaʻi o loʻo i ai nei, faʻataʻitaʻiga e sili ona fiafia i ai.
  • Sui o le vaega. E ping e tagata fai pisinisi ta'itasi le fuifui Zookeeper. Afai e le maua se ping i totonu o se vaitaimi faʻapitoa, ona faʻamauina lea e Zookeeper le tagata fai pisinisi e le o avanoa.
  • Filifilia o nodes autu ma avanoa mo le pule.

O le node pule o se tasi lea o Kafka brokers e nafa ma le filifilia o taʻitaʻi faʻatusa. E tu'uina atu e le Zookeeper fa'amatalaga i le pule e uiga i sui auai fa'apipi'i ma suiga autu, ma e tatau i le pule fa'atonu ona galue i nei suiga.

Mo se faʻataʻitaʻiga, seʻi o tatou ave se autu fou e sefulu vaega ma se faʻasologa o le 3. E tatau i le pule ona filifilia se taʻitaʻi mo vaega taʻitasi, taumafai e faʻasoa lelei taʻitaʻi i totonu o le au fai pisinisi.

Mo vaega ta'itasi pule:

  • fa'afou fa'amatalaga ile Zookeeper e uiga ile ISR ma le ta'ita'i;
  • Auina atu se LeaderAndISRComand i tagata fai pisinisi taʻitasi o loʻo faʻapipiʻiina se faʻataʻitaʻiga o lenei vaeluaga, faʻailoa i le au fai pisinisi e uiga i le ISR ma le taʻitaʻi.

A pa'ū se faioloa ma se taʻitaʻi, e tuʻuina atu e le Zookeeper se faʻamatalaga i le pule, ma filifilia se taʻitaʻi fou. Toe fo'i, e fa'afou muamua e le pule le Zookeeper ona tu'uina atu lea o se fa'atonuga i tagata fai pisinisi ta'ito'atasi e logoina i latou i suiga ta'ita'i.

O taʻitaʻi taʻitasi e nafa ma le suʻeina o ISRs. Fa'atonu replica.lag.time.max.ms e fuafua po o ai e ulu atu i ai. A suia le ISR, e tuʻuina atu e le taʻitaʻi faʻamatalaga fou i le Zookeeper.

E fa'ailoa i taimi uma i le Zookeeper so'o se suiga ina ia i'u ina fa'aletonu, e sologa lelei le suiga o le pulega i se ta'ita'i fou.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 21. Kafka Consensus

Faiga fa'asologa

O le malamalama i fa'amatalaga o le toe faia e fesoasoani e te malamalama atili ai i fa'amatalaga e ono leiloa.

Su'ega fa'ata'ita'iga, Fa'ailoga Fa'ai'uga Fa'amau (LEO) ma Fa'ailoga Suavai Maualuga (HW)

Na matou manatu o tagata mulimuli e auina atu i lea taimi ma lea taimi talosaga fetch i le taitai. Ole taimi fa'aletonu ole 500ms. E ese lenei mea mai le RabbitMQ i lena mea i le RabbitMQ replication e le amataina e le faʻata o le laina ae o le matai. O le matai e tuleia suiga i faaata.

E fa'asaoina e le ta'ita'i ma tagata mulimuli uma le Log End Offset (LEO) ma le igoa Highwater (HW). O le LEO fa'ailoga e teu ai le fa'asalaga o le fe'au mulimuli i le fa'atusa fa'apitonu'u, ma o le HW o lo'o taofia le fa'ai'uga o le ta'utinoga mulimuli. Manatua mo le tuʻuina atu o le tulaga, e tatau ona faʻaauau le feʻau i faʻataʻitaʻiga ISR uma. O lona uiga e masani lava ona sili teisi le LEO nai lo le HW.

A maua e le taitai se savali, na te teuina i le lotoifale. E faia e le tagata mulimuli se talosaga fetch e ala i le lafoina o lana LEO. Ona lafo atu lea e le ta'ita'i se vaega o fe'au e amata mai i le LEO lea ma fa'asalalau atu fo'i le HW o lo'o iai nei. A maua e le taʻitaʻi faʻamatalaga o loʻo teuina uma e faʻataʻitaʻiga le feʻau i le offset ua tuʻuina atu, e faʻagaoioia le faailoga HW. E na'o le ta'ita'i e mafai ona fa'agaoioi le HW, ma o le a iloa e le au mulimuli uma le taua o lo'o i ai i tali i la latou talosaga. O lona uiga e mafai e le au mulimuli ona tuai i tua o le taʻitaʻi i le feʻau ma le malamalama HW. E maua e tagata fa'atau fe'au na'o le HW o iai nei.

Manatua o le "faaauau" o lona uiga o le tusia i le manatua, ae le o le tisiki. Mo le faʻatinoga, e faʻafetaui Kafka i le tisiki i se taimi faʻapitoa. O le RabbitMQ e iai foʻi se vaitaimi faapena, ae o le a tuʻuina atu se faʻaaliga i le tagata talaʻi pe a uma ona tusia e le matai ma faʻata uma le feʻau i le tisiki. O le au atinaʻe Kafka, mo mafuaʻaga o faʻatinoga, na filifili e lafo se ack i le taimi lava e tusi ai le savali i le manatua. Fai mai Kafka o le toe fa'afoliga e fa'aitiitia ai le lamatiaga o le teuina pu'upu'u o fe'au fa'ailoa ile manatua.

Le toilalo ta’ita’i

A pa'ū se taʻitaʻi, e logo e le Zookeeper le pule, ma filifilia se ata fou o le taʻitaʻi. O le ta'ita'i fou e fa'atulaga se fa'ailoga fou HW e tusa ai ma lana LEO. Ona maua lea e le au mulimuli ia faamatalaga e uiga i le taitai fou. Faʻalagolago i le lomiga a Kafka, o le a filifilia e le tagata mulimuli se tasi o ata e lua:

  1. O le a tipiina le ogalaau faʻapitonuʻu i se HW lauiloa ma lafo se talosaga i le taʻitaʻi fou mo feʻau pe a maeʻa lenei faʻailoga.
  2. O le a tu'uina atu se talosaga i le ta'ita'i e su'e le HW i le taimi na filifilia ai o ia e ta'ita'i, ona tipi lea o le ogalaau i lenei offset. Ona amata loa lea ona fai ni talosaga e aumai fa'avaitaimi e amata mai i lea fa'asili.

Atonu e mana'omia e se tagata mulimuli e tipi le ogalaau mo mafuaaga nei:

  • Pe a toilalo se taʻitaʻi, o le tagata muamua e mulimuli i le seti ISR ​​na lesitala ma Zookeeper e manumalo i le palota ma avea ma taʻitaʻi. O tagata mulimuli uma i luga o le ISR, e ui ina manatu "i le ogatasi," atonu e leʻi mauaina ni kopi o feʻau uma mai le taʻitaʻi muamua. E matua'i mafai lava e le'i maua e le tagata mulimuli fa'aalia se kopi aupito lata mai. Kafka faʻamautinoa e leai se eseesega i le va o kopi. O le mea lea, ina ia aloese mai faʻalavelave, e tatau i tagata mulimuli taʻitoʻatasi ona tipi lana ogalaau i le tau o le HW o le taʻitaʻi fou i le taimi o lana filifiliga. O le isi lea mafuaaga e fa'atulaga ai acks=uma e taua tele mo le tumau.
  • O fe'au e tusia i lea taimi ma lea taimi i le tisiki. Afai e le manuia uma nodes fuifui i le taimi e tasi, o le a teuina i luga o tisiki fa'atusa ma fa'asologa eseese. E mafai pe a toe foʻi mai le au fai pisinisi i luga o le initaneti, o le taʻitaʻi fou ua filifilia o le a i tua o ona soʻo aua na faʻasaoina o ia i le disk i luma o isi.

Toe faatasiga ma le fuifui

Pe a toe fa'atasi i le fuifui, e tutusa lava le fa'atusa o le ta'ita'i pe a le manuia le ta'ita'i: latou te siaki le fa'atusa a le ta'ita'i ma tipi le latou ogalaau i lona HW (i le taimi o le palota). I le faʻatusatusaga, e tutusa lelei le faʻaogaina e RabbitMQ o nodes toe faʻatasi e pei o se mea fou. I tulaga uma e lua, e lafoai e le tagata fai pisinisi soʻo se setete o iai. Afai e faʻaaogaina le faʻaogaina otometi, e tatau i le matai ona toe faʻafoʻi atoatoa mea uma o loʻo i ai nei i le faʻata fou i se auala "tuu le lalolagi atoa e faʻatali". E le taliaina e le matai so'o se galuega faitau pe tusitusi i le taimi o lenei taotoga. O lenei faiga e mafua ai faafitauli i laina tetele.

O le Kafka o se ogalaau tufatufaina ma i se tulaga lautele e teuina ai le tele o feʻau nai lo le RabbitMQ queue, lea e aveese ai faʻamaumauga mai le laina pe a uma ona faitau. E tatau ona fa'atumauina la'ititi le laina fa'agaoioi. Ae o Kafka o se ogalaau ma lana lava faiga faʻavae, lea e mafai ona setiina se vaitaimi o aso poʻo vaiaso. Ole poloka poloka ma le tu'ufa'atasiga atoa e matua le taliaina mo se ogalaau tufatufa. Nai lo lena, o le au Kafka e naʻo le tipiina o latou ogalaau i le HW a le taʻitaʻi (i le taimi o lana filifiliga) pe a fai o latou kopi e muamua atu i le taʻitaʻi. I le tulaga e sili atu, a o'o i tua le tagata mulimuli, na'o le amata faia o talosaga fetch amata i lana LEO o lo'o iai nei.

O tagata fou pe toe faʻatasi e amata i fafo atu o le ISR ma e le auai i tautinoga. Latou te galulue faʻatasi ma le vaega, mauaina o feʻau i le vave latou te mafaia seia oʻo ina latou maua le taʻitaʻi ma ulufale i le ISR. E leai se loka-i totonu ma e leai se manaʻoga e lafoai uma au faʻamatalaga.

Le maua o feso'ota'iga

Kafka e tele atu vaega nai lo RabbitMQ, o lea e sili atu le lavelave seti o amioga pe a motusia le fuifui. Ae o Kafka na muai fuafuaina mo fuifui, o lea o fofo e mafaufau lelei.

O lo'o i lalo le tele o fa'aletonu o feso'ota'iga:

  • Fa'ata'ita'iga 1: E le va'ai le tagata mulimuli i le ta'ita'i, ae o lo'o va'ai pea i le Leoleo Su'e.
  • Fa'ata'ita'iga 2: E le o va'aia e le ta'ita'i ni tagata mulimuli, ae o lo'o va'aia pea le Zookeeper.
  • Fa'ata'ita'iga 3: Ua va'ai le tagata mulimuli i le ta'ita'i, ae na te le'i va'ai i le Leoleo Su'e.
  • Fa'ata'ita'iga 4: Ua va'ai atu le ta'ita'i i le au mulimuli, ae na te le'i va'aia le Leoleo Su'e.
  • Fa'ata'ita'iga 5: O le tagata mulimuli e matua'i 'ese'ese mai isi fa'ai'au Kafka ma le Zookeeper.
  • Fa'aaliga 6: O le ta'ita'i e matua'i 'ese'ese mai isi pona Kafka ma Zookeeper.
  • Fa'ata'ita'iga 7: E le mafai ona va'aia e le node Kafka se isi node Kafka.
  • Fa'ata'ita'iga 8: E le o va'aia e le pule a Kafka le Leoleo Su'e.

E tofu lava le vaaiga ma lana amio.

Fa'ata'ita'iga 1: E le o va'aia e le So'o le ta'ita'i, ae o lo'o va'ai pea i le Zookeeper

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 22. Fa'aaliga 1: ISR o fa'atusa e tolu

Ole faaletonu ole feso'ota'iga e vavae'ese ai le aufaioloa 3 mai le aufaioloa 1 ma le 2, ae le mai le Zookeeper. E le mafai e Broker 3 ona toe auina atu talosaga fetch. Ina ua mavae le taimi replica.lag.time.max.ms e aveesea mai le ISR ma e le auai i le fe'au faia. O le taimi lava e toe faʻaleleia ai le fesoʻotaʻiga, o le a toe faʻaauau le suʻeina o talosaga ma auai i le ISR pe a maua le taʻitaʻi. O le a faʻaauau pea ona maua e le Zookeeper pings ma faʻapea o loʻo ola le tagata fai pisinisi.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 23. Fa'ata'ita'iga 1: E 'ave'esea le tagata fai pisinisi mai le ISR pe a leai se talosaga fetch e maua mai i totonu ole replica.lag.time.max.ms vaeluaga.

E leai se fai'ai vaevae po'o se fa'agata fa'amau e pei o le RabbitMQ. Nai lo lena, ua faʻaitiitia le faʻaaogaina.

Fa'ata'ita'iga 2: E le o va'aia e le ta'ita'i ni tagata mulimuli, ae o lo'o va'ai pea le Leoleo Su'e

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 24. Fa'aaliga 2. Ta'ita'i ma tagata mulimuli e to'alua

O le malepelepe o feso'ota'iga feso'ota'iga e vavae'ese ai le ta'ita'i mai le au mulimuli, ae e mafai lava e le tagata fai pisinisi ona va'ai le Zookeeper. E pei o le ata muamua, o le ISR e faʻaitiitia, ae o le taimi lea naʻo le taʻitaʻi ona o tagata mulimuli uma e taofi le lafoina o talosaga fetch. Ma le isi, e leai se vaeluaga talafeagai. Nai lo lena, o loʻo i ai le leiloa o le toe faʻaaogaina mo feʻau fou seia oʻo ina toe faʻaleleia le fesoʻotaʻiga. O loʻo faʻaauau pea ona maua e le Zookeeper pings ma talitonu o loʻo ola le tagata fai pisinisi.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 25. Fa'aaliga 2. Ua na'o le ta'ita'i ua fa'aitiitia le ISR

Fa'ata'ita'iga 3. Ua va'aia e le So'o le ta'ita'i, ae le'i va'aia e le Leoleo Su'e

O le tagata mulimuli e vavae ese mai le Zookeeper, ae le o le tagata fai pisinisi ma le taʻitaʻi. O le iʻuga, o loʻo faʻaauau pea ona faia e le tagata mulimuli ia talosaga fetch ma avea ma sui o le ISR. E le o toe mauaina e le Zookeeper pings ma resitalaina se fa'alavelave fai pisinisi, ae talu ai ua na'o se tagata mulimuli, e leai ni a'afiaga pe a uma ona toe fa'aleleia.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 26. Fa'ata'ita'iga 3: O lo'o fa'aauau pea ona tu'uina atu e le tagata mulimuli ia talosaga e aumai i le ta'ita'i

Fa'aaliga 4. E va'aia e le ta'ita'i tagata mulimuli, ae le va'aia e ia le Leoleo Su'e

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 27. Fa'aaliga 4. Ta'ita'i ma tagata mulimuli e to'alua

O le taʻitaʻi e vavae ese mai le Zookeeper, ae le o le au fai pisinisi ma tagata mulimuli.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 28. Fa'ata'ita'iga 4: Ta'ita'i vavae'ese mai le Leoleo Su'e

A maeʻa sina taimi, o le a resitalaina e le Zookeeper se tagata fai pisinisi le manuia ma logoina le pule e uiga i ai. O le a ia filifilia se taʻitaʻi fou i ona soo. Ae ui i lea, o le a faʻaauau pea ona manatu le taʻitaʻi muamua o le taʻitaʻi ma o le a faʻaauau pea ona talia faʻamatalaga mai acks=1. E le o toe auina atu e le au mulimuli ia te ia ni talosaga, o lea o le a ia manatu ai ua maliliu ma taumafai e faʻaitiitia le ISR ia te ia lava. Ae talu ai e leai sona sootaga i le Zookeeper, o le a le mafai ona faia lenei mea, ma i lena taimi o le a musu e talia nisi faʻamatalaga.

savali acks=uma o le a le maua se fa'ailoaga ona o le ISR muamua e liliu uma kopi, ma fe'au e le o'o atu ia i latou. Pe a taumafai le taʻitaʻi muamua e aveese i latou mai le ISR, o le a le mafai ona ia faia ma o le a taofia le taliaina o soʻo se feʻau.

E vave ona matauina e tagata fa'atau le suiga i le ta'ita'i ma amata ona lafo fa'amaumauga i le server fou. O le taimi lava e toe faʻaleleia ai le fesoʻotaʻiga, e vaʻaia e le taʻitaʻi muamua e le o toe avea ma taʻitaʻi ma tipi lana ogalaau i le tau o le HW lea na maua e le taʻitaʻi fou i le taimi na le mafai ai ona aloese mai le eseesega o ogalaau. Ona amata loa lea ona auina atu talosaga fetch i le taitai fou. O faamaumauga uma mai le uluai taitai e le o toe faia i le taitai fou ua leiloa. O lona uiga, o fe’au e le’i fa’ailoa e le ulua’i ta’ita’i i nai sekone na galulue ai ta’ita’i e to’alua o le a leiloa.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 29. Fa'aaliga 4. O le ta'ita'i i le faioloa 1 e avea ma so'o pe a uma ona toe fa'aleleia le feso'ota'iga.

Fa'ata'ita'iga 5: O le tagata mulimuli e matua'i 'ese'ese mai isi fa'ai'au Kafka ma le Zookeeper

O le tagata mulimuli e matua vavae ese mai isi Kafka nodes ma Zookeeper. Na o le aveeseina o ia lava mai le ISR seia oʻo ina toe faʻaleleia le fesoʻotaʻiga, ona puʻeina lea o isi.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 30. Fa'ata'ita'iga 5: Ua 'ave'esea le tagata mulimuli mai le ISR

Fa'aaliga 6: O le ta'ita'i e matua'i 'ese'ese mai isi pona Kafka ma Zookeeper

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 31. Fa'aaliga 6. Ta'ita'i ma tagata mulimuli e to'alua

O le taʻitaʻi ua matua vavae ese mai ona soo, le pule ma le Zookeeper. Mo se taimi pu'upu'u o le a fa'aauau pea ona talia fa'amatalaga mai acks=1.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 32. Fa'aaliga 6: Fa'ate'aina le ta'ita'i mai isi nodes Kafka ma Zookeeper

Le le mauaina o talosaga ina ua uma le aoga replica.lag.time.max.ms, o le a taumafai e faʻaitiitia le ISR ia te ia lava, ae o le a le mafai ona faia ona e leai se fesoʻotaʻiga ma Zookeeper, ona taofia lea o le taliaina o tusitusiga.

I le taimi nei, Zookeeper o le a faʻailogaina le tagata fai pisinisi tuʻufua ua maliu ma o le a filifilia e le pule se taʻitaʻi fou.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 33. Fa'aaliga 6. Ta'ita'i e to'alua

E mafai e le taitai muamua ona talia ni tusitusiga mo ni nai sekone, ae taofi le taliaina o soo se savali. E fa'afou tagata fa'atau ile 60 sekone ma fa'amatalaga lata mai. O le a logoina i latou e uiga i le suiga o le taʻitaʻi ma o le a amata ona lafo atu faʻamatalaga i le taʻitaʻi fou.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 34. Fa'ata'ita'iga 6: O tagata gaosi oloa e sui i se ta'ita'i fou

O fa'amaumauga fa'amaonia uma na faia e le ta'ita'i muamua talu mai le leiloa o feso'ota'iga o le a leiloa. O le taimi lava e toe faʻaleleia ai le fesoʻotaʻiga, o le a iloa e le taʻitaʻi muamua e ala i le Zookeeper e le o toe avea ma taʻitaʻi. Ona tipi lea o lana ogalaau i le HW o le taitai fou i le taimi o le palota ma amata auina atu talosaga e avea ma se tagata mulimuli.

RabbitMQ vs Kafka: Faʻapalepale Faʻaletonu ma Avanoa Maualuga
Alaisa. 35. Fa'aaliga 6: O le ta'ita'i muamua e avea ma so'o pe a uma ona toe fa'aleleia le feso'ota'iga

I lenei tulaga, e mafai ona tupu se vavaega talafeagai mo se taimi puupuu, ae naʻo pe a fai acks=1 и min.insync.replicas fo'i 1. Otometi lava ona fa'amuta le valavala fa'atatau pe a mae'a ona toe fa'afo'isia le feso'ota'iga, pe a iloa e le ta'ita'i muamua e le o toe avea o ia ma ta'ita'i, po'o le iloa e tagata uma ua sui le ta'ita'i ma amata ona tusi atu i le ta'ita'i fou - po'o fea lava e tupu muamua. I soo se tulaga, o nisi o feʻau o le a leiloloa, ae naʻo le acks=1.

O loʻo i ai se isi fesuiaiga o lenei faʻataʻitaʻiga lea, aʻo leʻi vaeluaina le fesoʻotaʻiga, na paʻu i tua le au mulimuli ma faʻapipiʻi e le taʻitaʻi le ISR ia na o ia lava. Ona tu'ufua ai lea ona ua leiloa le feso'ota'iga. Ua filifilia se ta'ita'i fou, ae o lo'o fa'aauau pea ona talia e le ulua'i ta'ita'i tusi, e o'o lava acks=uma, aua e leai se isi i le ISR vagana ai o ia. O nei faamaumauga o le a leiloa pe a toe faʻaleleia le fesoʻotaʻiga. Pau lava le auala e aloese ai mai lenei filifiliga o le min.insync.replicas = 2.

Fa'ata'ita'iga 7: E le mafai ona va'ai le Node Pule a Kafka i se isi Node Kafka

I se tulaga lautele, o le taimi lava e leiloa ai le fesoʻotaʻiga ma le Kafka node, o le a le mafai e le pule ona tuʻuina atu soʻo se taʻitaʻi suiga faʻamatalaga i ai. I le tulaga sili ona leaga, o lenei mea o le a taʻitaʻia ai se vaeluaga talafeagai mo taimi pupuu, e pei o le faʻaaliga 6. E masani lava nai lo le leai, o le a le avea le tagata fai pisinisi ma sui tauva mo le taʻitaʻiga pe a le manuia le mea mulimuli.

Fa'ata'ita'iga 8: E le o va'aia e le pule a Kafka le Leoleo Su'e

E le maua e Zookeeper se ping mai le pule pa'ū ma o le a filifilia se node Kafka fou e avea ma pule. O le uluai pule e mafai ona faʻaauau pea ona faʻaalia o ia lava, ae e le maua faʻamatalaga mai le Zookeeper, o lea e leai ni galuega e fai. O le taimi lava e toe faʻaleleia ai le fesoʻotaʻiga, o le a ia iloa e le o toe avea o ia ma pule, ae ua avea ma masani Kafka node.

Fa'ai'uga mai fa'aaliga

Ua matou va'ai o le leiloa o le so'otaga so'o e le maua ai le fa'aletonu o fe'au, ae na'o le fa'aitiitia le tumau o le toe fa'afo'i se'ia toe fa'afo'i le feso'ota'iga. O lenei, ioe, e mafai ona taʻitaʻia ai le leiloa o faʻamatalaga pe a leiloa se tasi pe sili atu nodes.

Afai e tete'a le ta'ita'i mai le Zookeeper ona o le leiloa o le feso'ota'iga, e ono i'u ai i le leiloa o fe'au mai acks=1. O le leai o se feso'ota'iga ma Zookeeper e mafua ai se vaeluaga talafeagai ma ta'ita'i e to'alua. O lenei faʻafitauli e foia e le parakalafa acks=uma.

Parakalafa min.insync.replicas i totonu o ni ata se lua pe sili atu e maua ai le fa'amautinoaga fa'aopoopo o ia fa'aaliga pupuu o le a le i'u ai i le leiloa o fe'au e pei o le Fa'aaliga 6.

Aotelega o Savali Leiloa

Sei o tatou lisi auala uma e mafai ona e leiloa faʻamatalaga i Kafka:

  • So'o se ta'ita'i e toilalo pe a fa'amaonia fe'au e fa'aoga acks=1
  • Soʻo se suiga le mama o le taʻitaʻiga, o lona uiga, i se tagata mulimuli i fafo atu o le ISR, e oʻo lava i acks=uma
  • Fa'ate'aina le ta'ita'i mai le Zookeeper pe a fa'amaonia fe'au fa'aoga acks=1
  • Faʻaesea atoatoa o le taʻitaʻi ua uma ona faʻaitiitia le vaega ISR ia te ia lava. O savali uma o le a leiloa, e oo lava acks=uma. E na'o le moni lea pe afai min.insync.replicas=1.
  • Fa'aletonu fa'atasi uma o nodes vaeluaga. Talu ai o fe'au e fa'ailoa mai e manatua, o nisi atonu e le'i tusia i le tisiki. A maeʻa ona toe faʻafouina le 'auʻaunaga, atonu o loʻo misi nisi o feʻau.

E mafai ona aloese mai suiga le mama faaleautaitai e ala i le faasāina po o le mautinoa ia le itiiti ifo ma le lua le toe faigaluega. O le faʻatulagaga sili ona umi o se tuʻufaʻatasiga acks=uma и min.insync.replicas sili atu nai lo 1.

Faʻatusatusa saʻo o le faʻatuatuaina o RabbitMQ ma Kafka

Ina ia mautinoa le faʻatuatuaina ma le maualuga o le avanoa, o faʻavae uma e lua e faʻaogaina se faiga faʻaoga muamua ma lona lua. Ae ui i lea, o RabbitMQ ei ai le mulivae Achilles. Pe a toe fa'afeso'ota'i pe a le manuia, e lafoa'i e nodes a latou fa'amaumauga ma poloka le fa'amaopoopoina. O lenei fa'alua fa'alua e fesiligia ai le umi o laina tetele i RabbitMQ. E tatau ona e talia a le fa'aitiitia le fa'aulu po'o le umi o taimi poloka. O le fa'aitiitia o le toe fa'atupuina e fa'atuputeleina ai le fa'aletonu tele o fa'amaumauga. Ae afai e laʻititi le laina, ona faʻatatau lea i le toe faʻaaogaina, o taimi pupuu o le le maua (ni nai sekone) e mafai ona faʻatautaia i le faʻaaogaina o fesoʻotaʻiga faifaipea.

Kafka e le o iai lenei faʻafitauli. E lafoa'i fa'amaumauga na'o le mea e 'ese'ese ai le ta'ita'i ma le tagata mulimuli. O fa'amatalaga fa'asoa uma e fa'asaoina. E le gata i lea, o le toe faia e le taofia ai le faiga. O lo'o fa'aauau pea ona talia e le ta'ita'i ni pou a'o maua atu e le tagata fou, o lea mo devops, o le auai pe toe fa'atasi i le fuifui e avea o se galuega faatauvaa. Ioe, o loʻo i ai pea faʻafitauli e pei o le bandwidth network i le taimi o le toe faia. Afai e te faʻaopoopoina le tele o tagata mulimuli i le taimi e tasi, e te ono feagai ma se faʻatapulaʻa bandwidth.

RabbitMQ e sili atu nai lo Kafka i le faʻatuatuaina pe a tele sapalai i totonu o se fuifui e toilalo i le taimi e tasi. E pei ona uma ona matou fai atu, e tuʻuina atu e RabbitMQ se faʻamaoniga i le tagata faʻasalalau pe a uma ona tusia le feʻau i le tisiki e le matai ma faʻata uma. Ae o lenei mea e faʻaopoopoina ai le faʻaogaina mo mafuaaga e lua:

  • fsync i nai selau milliseconds uma
  • O le toilalo o le faʻata e faatoa mafai ona matauina pe a maeʻa le olaga atoa o pepa e siaki ai le avanoa o node taitasi (net tick) ua maeʻa. Afai e fa'agesegese pe pa'u le fa'ata, e fa'aopoopoina ai le tuai.

O le peti a Kafka afai e teuina se feʻau i le tele o nodes, e mafai ona faʻaalia feʻau i le taimi lava e manatua ai. Ona o lenei mea, e iai le lamatiaga o le leiloa o feʻau o soʻo se ituaiga (tusa lava acks=uma, min.insync.replicas=2) i le tulaga o le faaletonu i le taimi e tasi.

I le aotelega, o Kafka e faʻaalia lelei le faʻatinoga o polokalama ma ua mamanuina mai le eleele i luga mo fuifui. Ole numera o tagata mulimuli e mafai ona faʻateleina ile 11 pe a manaʻomia mo le faʻamaoni. Fa'asologa fa'atusa 5 ma numera la'ititi o fa'atusa i le fa'atasi min.insync.replicas=3 o le a avea le leiloa o fe'au ma se mea e seasea tupu. Afai e mafai e au atina'e ona lagolagoina lenei fua fa'atusa ma le maualuga o le toe fa'afo'isia, ona mafai lea ona e filifilia lea filifiliga.

RabbitMQ fa'apipi'i e lelei mo nai laina laiti. Ae e oo lava i laina laiti e mafai ona tupu vave pe a mamafa taavale. A tele loa laina, e tatau ona e faia ni filifiliga faigata i le va o avanoa ma le fa'amaoni. RabbitMQ clustering e sili ona fetaui mo tulaga e le masani ai e sili atu le aoga o le fetuutuunai a RabbitMQ i soʻo se faʻaletonu o lona faʻapipiʻiina.

O se tasi o vaifofo i le a'afia o RabbitMQ i laina tetele o le vaevaeina lea i ni laina laiti se tele. Afai e te le manaʻomia le faʻatonuina atoatoa o le laina atoa, ae naʻo feʻau talafeagai (mo se faʻataʻitaʻiga, savali mai se tagata faʻapitoa), pe e te le faʻatonuina se mea, ona talia lea o lenei filifiliga: vaʻai i laʻu poloketi Toe paleni ia vaevae le laina (o loʻo i ai pea le poloketi i le amataga).

Ma le mea mulimuli, aua neʻi galo e uiga i le tele o bugs i le faʻapipiʻiina ma le faʻasologa o faiga a RabbitMQ ma Kafka. I le aluga o taimi, o faiga ua sili atu ona matua ma mautu, ae leai se savali o le a 100% saogalemu mai le leiloa! E le gata i lea, o faʻalavelave tetele e tutupu i totonu o nofoaga autu o faʻamatalaga!

Afai na ou misia se mea, faia se mea sese, pe e te le ioe i se tasi o manatu, lagona le saoloto e tusi se faʻamatalaga pe faʻafesoʻotaʻi aʻu.

E masani ona fesiligia aʻu: "O le a le mea e filifili, Kafka poʻo RabbitMQ?", "O le fea tulaga e sili atu?". O le mea moni e faʻalagolago lava i lou tulaga, aafiaga o loʻo i ai nei, ma isi. Ou te faʻatuai e tuʻuina atu loʻu manatu ona o le a sili atu le faʻafaigofieina le fautuaina o se tasi tulaga mo faʻaoga uma mataupu ma tapulaa talafeagai. Na ou tusia lenei faasologa o tala ina ia mafai ai ona e faia lou lava manatu.

Ou te fia fai atu o faiga uma e lua o taʻitaʻi i lenei vaega. Atonu e fai si fa'aituau ona o lo'u poto masani i galuega fa'atino ou te fa'atauaina mea e pei o le fa'atonuina o fe'au ma le fa'amaoni.

Ou te vaʻai i isi tekinolosi e leai se faʻatuatuaina ma faʻamaonia le faʻatonuga, ona ou vaʻavaʻai lea i le RabbitMQ ma Kafka ma iloa ai le taua tele o nei faiga uma e lua.

puna: www.habr.com

Faaopoopo i ai se faamatalaga