
Nkwenye mmejọ na nnweta dị elu bụ nnukwu isiokwu, yabụ anyị ga-ewepụta akụkọ dị iche na RabbitMQ na Kafka. Akụkọ a gbasara RabbitMQ, nke na-esote bụ maka Kafka, ma e jiri ya tụnyere RabbitMQ. Nke a bụ akụkọ dị ogologo, yabụ nwee ahụ iru ala.
Ka anyị leba anya na mmegide mmejọ, nkwụsi ike, yana atụmatụ dị elu (HA) yana azụmaahịa nke atụmatụ ọ bụla na-eme. RabbitMQ nwere ike na-agba ọsọ na ụyọkọ ọnụ - wee kewaa ya dị ka usoro ekesa. Mgbe a bịara na usoro nkesa, anyị na-ekwukarị banyere nkwụsi ike na ịdị adị.
Echiche ndị a na-akọwa otu usoro si eme mgbe ọ dara. Ọdịda njikọ netwọkụ, ọdịda nkesa, ọdịda draịvụ ike, adịghị adị nwa oge nke ihe nkesa n'ihi nchịkọta mkpofu, mfu ngwugwu, ma ọ bụ ijikọ njikọ netwọkụ. Ihe a niile nwere ike ibute ọnwụ ma ọ bụ esemokwu. Ọ na-apụta na ọ fọrọ nke nta ka ọ bụrụ na ọ gaghị ekwe omume ịmepụta usoro nke na-agbanwe agbanwe (enweghị data ọnwụ, enweghị ọdịiche data) na dị (ga-anabata agụ na-ede) maka ọdịda ọdịda niile.
Anyị ga-ahụ na nkwekọ na ịdị adị dị na nsọtụ nke ụdịdị dị iche iche, yana ịkwesịrị ịhọrọ ụzọ ị ga-esi bulie ya. Ozi ọma ahụ bụ na RabbitMQ nwere ike ime nhọrọ a. Ị nwere ụdị lever "nerdy" ndị a iji gbanwee nguzozi n'ụzọ dị ukwuu ma ọ bụ ohere dị ukwuu.
Anyị ga-akwụ ụgwọ nlebara anya pụrụ iche nke nhazi na-eduga na ọnwụ data n'ihi ihe ndekọ ekwenyesiri ike. Enwere ọrụ dị n'etiti ndị mbipụta, ndị na-ere ahịa na ndị na-azụ ahịa. Ozugbo ezigara onye na-ere ahịa ozi ahụ, ọ bụ ọrụ ya ka ọ ghara idafu ozi ahụ. Mgbe onye na-ere ahịa kwetara nnata nke onye bipụtara ozi ahụ, anyị anaghị atụ anya na ọ ga-efunahụ ya. Mana anyị ga-ahụ na nke a nwere ike ime n'ezie dabere na nhazi onye na-ere ahịa na onye mbipụta gị.
Otu Node Resilience Primitives
Nkwụghachi/Ntugharị na-agbanwe agbanwe
Enwere ụdị kwụ n'ahịrị abụọ na RabbitMQ: na-adịgide adịgide na nke anaghị adịte aka. A na-echekwa ahịrị niile na nchekwa data Mnesia. A na-akpọghachite kwụ n'ahịrị na-adịgide adịgide na mmalite ọnụ wee si otú a lanarị ịmalitegharị, mkpọka sistemu, ma ọ bụ mkpọka nkesa (ọ bụrụhaala na data ahụ nọgidere na-adị). Nke a pụtara na ọ bụrụhaala na ị na-ekwupụta ụzọ (mgbanwe) na kwụ n'ahịrị ka ọ bụrụ nke na-adịgide adịgide, akụrụngwa kwụ n'ahịrị / ụzọ ga-alọghachi na ntanetị.
A na-ewepụ kwụ n'ahịrị na ụzọ ụgbọ ala mgbe ebidogharịrị ọnụ ụzọ ahụ.
Ozi na-adịgide adịgide
Naanị n'ihi na kwụ n'ahịrị na-adịte aka apụtaghị na ozi ya niile ga-adị ndụ ma malitegharịa ọnụ. Naanị ozi nke onye nbipute setịpụrụ dị ka adigide (na-adịgide adịgide). Ozi na-adịgide adịgide na-emepụta ibu ọzọ na onye na-ere ahịa, mana ọ bụrụ na ọnwụ ozi adịghị anabata, mgbe ahụ ọ nweghị nhọrọ ọzọ.

Osikapa. 1. Matrix na-adịgide adịgide
Ịchịkọta ọnụ na enyo kwụ n'ahịrị
Ka ịlanarị ọnwụ nke onye na-ere ahịa, anyị chọrọ ọrụ mgbapụta. Anyị nwere ike ijikọ ọnụ ọnụ ọtụtụ RabbitMQ n'ime ụyọkọ, wee tinye mgbakwunye ọzọ site na ịmegharị ahịrị n'etiti ọtụtụ ọnụ. N'ụzọ dị otú a, ọ bụrụ na otu ọnụ ada ada, anyị anaghị efu data na-anọgide dị.
Ngosipụta kwụ n'ahịrị:
- otu isi kwụ n'ahịrị (nna ukwu), nke na-anata iwu ederede na ịgụ
- otu enyo ma ọ bụ karịa na-enweta ozi na metadata niile sitere na kwụ n'ahịrị. Ngosipụta ndị a abụghị maka ịchacha, kama ọ bụ naanị maka redundancy.

Osikapa. 2. Ngosipụta kwụ n'ahịrị
Amụma dabara adaba edobere mirroring. N'ime ya ị nwere ike họrọ ọnụọgụ ngbanwe na ọbụna ọnụ ụzọ nke kwụ n'ahịrị kwesịrị ịdị. Ọmụmaatụ:
ha-mode: allha-mode: exactly, ha-params: 2(Otu nna ukwu na otu mirror)ha-mode: nodes, ha-params: rabbit@node1, rabbit@node2
Nkwenye onye mbipụta
Iji nweta ndekọ na-agbanwe agbanwe, achọrọ onye nbipute nkwenye. Na-enweghị ha, e nwere ihe ize ndụ nke ozi efu. A na-ezigara onye mbipụta akwụkwọ nkwenye mgbe edechara ozi na diski. RabbitMQ na-ede ozi na diski ọ bụghị mgbe ọ natachara ya, kama na oge ụfọdụ, na mpaghara ọtụtụ narị milliseconds. Mgbe enyo enyo kwụ n'ahịrị, a na-ezigara nkwenye naanị mgbe enyo niile dekwara akwụkwọ ozi ha na diski. Nke a pụtara na iji nkwenye na-agbakwụnye latency, ma ọ bụrụ na nchekwa data dị mkpa, mgbe ahụ, ha dị mkpa.
kwụ n'ahịrị agaghị eme
Mgbe onye na-ere ahịa kwụsịrị ma ọ bụ daa, ndị isi kwụ n'ahịrị (nna ukwu) nọ na ọnụ ọnụ ahụ dakọtara yana ya. Ụyọkọ ahụ wee họrọ enyo kacha ochie nke nna ukwu ọ bụla wee kwalite ya dị ka nna ukwu ọhụrụ.

Osikapa. 3. Ọtụtụ enyo kwụ n'ahịrị na amụma ha
Broker 3 na-agbada. Mara na a na-akwalite enyo Queue C na Broker 2 ka ọ bụrụ nna ukwu. Rịba ama na e mepụtala enyo ọhụrụ maka Queue C na Broker 1. RabbitMQ na-agbalị mgbe niile ịnọgide na-enwe ihe mmegharị ahụ akọwapụtara na atumatu gị.

Osikapa. 4. Broker 3 dara, na-eme ka kwụ n'ahịrị C daa
Broker na-esote 1 dara! Anyị nwere naanị otu onye na-ere ahịa fọdụ. A na-akwalite enyo Queue B ka ọ bụrụ nna ukwu.

Fig. 5
Anyị laghachiri Broker 1. N'agbanyeghị otú nke ọma data na-adị ndụ ọnwụ na mgbake nke ore ahia, niile mirrored kwụ n'ahịrị ozi na-atụfu n'elu Malitegharịa ekwentị. Nke a dị mkpa ịmara n'ihi na a ga-enwe nsonaazụ. Anyị ga-elele ihe ndị a pụtara n'oge adịghị anya. Ya mere Broker 1 bụzi onye so na ụyọkọ ahụ ọzọ, ụyọkọ ahụ na-agbalị irube isi na atumatu ya mere ọ na-emepụta enyo na Broker 1.
N'okwu a, ọnwụ nke Broker 1 zuru ezu, dịka data ahụ, ya mere Queue B na-enweghị atụ furu efu.

Osikapa. 6. Broker 1 na-alaghachi ọrụ
Broker 3 alaghachila na ntanetị, yabụ kwụ n'ahịrị A na B nwetaghachi enyo ndị emere na ya iji mejuo amụma HA ha. Ma ugbu a niile bụ isi kwụ n'ahịrị na-na otu ọnụ! Nke a adịghị mma, ọbụna nkesa n'etiti ọnụ ka mma. Ọ dị nwute, enweghị ọtụtụ nhọrọ ebe a maka ịhazigharị ndị nna ukwu. Anyị ga-alaghachi na mbipụta a ma emechaa n'ihi na anyị kwesịrị ibu ụzọ lelee mmekọrịta kwụ n'ahịrị.

Osikapa. 7. Broker 3 na-alaghachi ọrụ. Ahịrị ndị bụ isi n'otu ọnụ!
Ya mere, ugbu a, ị kwesịrị inwe echiche nke otú enyo na-enye redundancy na mmejọ ndidi. Nke a na-eme ka ọ dị na ihe omume nke ọdịda otu ọnụ ma na-echebe megide ọnwụ data. Ma anyị emebebeghị, n'ihi na n'eziokwu ọ na-agbagwoju anya karị.
Ikwenye
Mgbe ị na-eke enyo ọhụrụ, ozi ọhụrụ niile ga-emeghachi ya na enyo a na ndị ọzọ. Banyere data dị na ọdụ ụgbọ elu, anyị nwere ike ịmegharị ya na enyo ọhụrụ, nke na-aghọ ihe zuru oke nke nna ukwu. Anyị nwekwara ike ịhọrọ ịghara ịmegharị ozi ndị dị ugbu a ma hapụ isi kwụ n'ahịrị na enyo ọhụrụ na-agbakọta n'oge, na ozi ọhụrụ na-abata na ọdụ na ozi dị ugbu a na-ahapụ isi nke isi kwụ n'ahịrị.
A na-eme mmekọrịta a na-akpaghị aka ma ọ bụ jiri aka wee na-ejikwa ya site na iji usoro kwụ n'ahịrị. Ka anyị lee otu ihe atụ.
Anyị nwere ahịrị abụọ nwere enyo. A na-emekọrịta Queue A na-akpaghị aka, a na-ejikwa aka mekọrịta Queue B. Ahịrị abụọ ahụ nwere ozi iri.

Osikapa. 8. Ahịrị abụọ nwere ụdị mmekọrịta dị iche iche
Ugbu a anyị na-efunahụ Broker 3.

Osikapa. 9. Broker 3 dara
Broker 3 na-alaghachi ọrụ. Ụyọkọ a na-emepụta enyo maka kwụ n'ahịrị nke ọ bụla na ọnụ ọhụrụ ahụ wee mekọrịta Queue A ọhụrụ na onye nwe ya ozugbo. Agbanyeghị, enyo nke Queue B ọhụrụ ka bụ ihe efu. N'ụzọ dị otú a, anyị na-enwe nkwughachi zuru ezu na Queue A na naanị otu mirror maka ozi Queue B dị.

Osikapa. 10. Ngosipụta ọhụrụ nke Queue A na-enweta ozi niile dị adị, mana enyo ọhụrụ nke Queue B adịghị.
Ozi iri ọzọ rutere n'ahịrị abụọ ahụ. Broker 2 wee daa na Queue A na-atụgharị azụ na enyo kacha ochie, nke dị na Broker 1. Enweghị mfu data mgbe ọ daa. Na Queue B, enwere ozi iri abụọ na nna ukwu na naanị iri n'enyo n'ihi na kwụ n'ahịrị a emegharịbeghị ozi iri mbụ ahụ.

Osikapa. 11. Queue A na-atụgharị azụ na Broker 1 na-enweghị ozi efu
Ozi iri ọzọ rutere n'ahịrị abụọ ahụ. Ugbu a Broker 1 daa kwụ n'ahịrị A na-agbanye n'enyo na-enweghị atụfu ozi. Agbanyeghị, Queue B nwere nsogbu. N'ebe a anyị nwere ike ịkwalite ma ọ dị ma ọ bụ na-agbanwe agbanwe.
Ọ bụrụ na anyị chọrọ ebuli ohere, mgbe ahụ amụma ha-akwalite-na-ọdịda kwesịrị itinye n'ime mgbe niile. Nke a bụ uru ndabara, yabụ ị nweghị ike ịkọwapụta iwu ahụ ma ọlị. N'okwu a, anyị na-ekwe ka ọdịda dị na enyo emekọrịtaghị. Nke a ga-eme ka ozi ghara ịla n'iyi, mana kwụ n'ahịrị ga-anọgide na-agụ ma bụrụkwa nke a na-ede ede.

Osikapa. 12. A na-atụgharị Queue A na Broker 3 na-enweghị ozi efu. Queue B na-atụgharị azụ na Broker 3 nwere ozi iri furu efu
Anyị nwekwara ike ịwụnye ha-promote-on-failure n'ime ihe pụtara when-synced. N'okwu a, kama ịtụgharị azụ na enyo, kwụ n'ahịrị ga-echere ruo mgbe Broker 1 na data ya ga-alaghachi na ọnọdụ ịntanetị. Mgbe ọ laghachiri, isi kwụ n'ahịrị na-alaghachi na Broker 1 na-enweghị ọnwụ data ọ bụla. A na-achụkwa nnweta maka nchekwa data. Ma nke a bụ a ize ndụ mode na pụrụ ọbụna iduga zuru ezu data ọnwụ, nke anyị ga-ele anya n'oge na-adịghị.

Osikapa. 13. Queue B ka adịkwaghị mgbe o nwesịrị Broker 1
Ị nwere ike ịjụ, "Ọ ka mma ka ị ghara iji mmekọrịta akpaaka mgbe ọ bụla?" Azịza ya bụ na mmekọrịta bụ ọrụ mgbochi. N'oge mmekọrịta, isi kwụ n'ahịrị enweghị ike ịrụ ọrụ ọgụgụ ma ọ bụ dee ọ bụla!
Ka anyị lee otu ihe atụ. Ugbu a, anyị nwere ogologo kwụ n'ahịrị. Kedu ka ha ga-esi tolite oke? N'ihi ọtụtụ ihe kpatara ya:
- A naghị eji kwụ n'ahịrị eme ihe
- Ndị a bụ ahịrị ndị na-agba ọsọ ọsọ, ma ugbu a ndị na-azụ ahịa anaghị adị ngwa
- Ọ bụ kwụ n'ahịrị na-agba ọsọ, enweela glitch na ndị ahịa na-enweta

Osikapa. 14. Nnukwu kwụ n'ahịrị abụọ nwere ụdị mmekọrịta dị iche iche
Ugbu a Broker 3 dara.

Osikapa. 15. Broker 3 dara, hapụ otu nna ukwu na enyo n'ahịrị ọ bụla
Broker 3 na-alọghachi na ntanetị wee mepụta enyo ọhụrụ. Main Queue A na-amalite ịtụgharị ozi dị na enyo ọhụrụ, ma n'oge a, Queue adịghị. Ọ na-ewe awa abụọ iji megharịa data ahụ, na-ebute oge nkwụsịtụ awa abụọ maka Queue a!
Agbanyeghị, Queue B ka dị n'ime oge niile. Ọ chụrụ obere ọrụ iji nweta ohere.

Osikapa. 16. kwụ n'ahịrị ka adịkwaghị n'oge mmekọrịta
Mgbe awa abụọ gachara, Queue A ga-adịkwa ma nwee ike ịmalite ịnara agụ na dee ọzọ.
Mmelite
Omume mgbochi a n'oge mmekọrịta na-eme ka ọ sie ike imelite ụyọkọ nwere nnukwu kwụ n'ahịrị. N'oge ụfọdụ, ọ dị mkpa ka ịmalitegharịa oghere nna ukwu, nke pụtara ma ọ bụ ịkwaga na enyo ma ọ bụ gbanyụọ kwụ n'ahịrị mgbe a na-ebuli ihe nkesa ahụ. Ọ bụrụ na anyị họrọ mgbanwe, anyị ga-atụfu ozi ma ọ bụrụ na enyo anaghị emekọrịta. Na ndabara, n'oge onye na-ere ahịa na-apụ apụ, a naghị eme ihe na-adaba na enyo emekọrịtaghị. Nke a pụtara na ozugbo onye na-ere ahịa laghachiri, anyị anaghị efunahụ ozi ọ bụla, naanị ihe mebiri bụ naanị kwụ n'ahịrị dị mfe. Iwu nke omume mgbe onye na-ere ahịa kwụsịrị site n'usoro iwu kwadoro ha-promote-on-shutdown. Ị nwere ike ịtọ otu n'ime ụkpụrụ abụọ:
always= Agbanyere ngbanwe gaa na enyo emekọrịtaghịwhen-synced= Ntugharị gaa na enyo mekọrịtara ọnụ naanị, ma ọ bụghị ya, kwụ n'ahịrị na-aghọ enweghị ọgụgụ na enweghị ike ide. Ahịrị na-alaghachi ọrụ ozugbo onye na-ere ahịa laghachiri
Otu ụzọ ma ọ bụ ọzọ, na nnukwu queues ị ga-ahọrọ n'etiti data ọnwụ na unavailability.
Mgbe nnweta na-eme ka nchekwa data dịkwuo mma
Enwere otu mgbagwoju anya ị ga-atụle tupu ịme mkpebi. Ọ bụ ezie na mmekọrịta akpaaka ka mma maka ịgbagharị, kedu ka ọ si emetụta nchekwa data? N'ezie, na mma redundancy, RabbitMQ bụ obere ihe na-efunahụ ozi dị, ma gịnị banyere ozi ọhụrụ sitere na ndị nkwusa?
N'ebe a, ịkwesịrị ịtụle ihe ndị a:
- Onye mbipụta ahụ ọ nwere ike weghachi njehie naanị wee nwee ọrụ elu ma ọ bụ onye ọrụ nwaa ọzọ ma emechaa?
- Onye mbipụta nwere ike ịchekwa ozi ahụ na mpaghara ma ọ bụ na nchekwa data iji nwaa ọzọ ma emechaa?
Ọ bụrụ na onye mbipụta nwere ike tụfuo ozi ahụ naanị, mgbe ahụ n'eziokwu, imeziwanye ohere na-eme ka nchekwa data dịkwuo mma.
Ya mere, a ghaghị ịchọ nguzozi, na ngwọta na-adabere na ọnọdụ kpọmkwem.
Nsogbu na ha-promote-on-failure=mgbe-mmekọrịta
Echiche ha-akwalite-na-ọdịda= mgbe-mmekọrịta bụ na anyị na-egbochi ịgbanwee na-unsynchronized mirror ma si otú zere data ọnwụ. Ahịrị kwụ n'ahịrị ka enweghị ike ịgụ ma ọ bụ dee ya. Kama, anyị na-agbalị ịweghachite onye na-ere ahịa mebiri emebi na data ya emebibeghị ka o wee maliteghachi ịrụ ọrụ dịka nna ukwu na-enweghị mfu data.
Ma (na nke a bụ nnukwu ma) ọ bụrụ na onye na-ere ahịa furu efu data ya, mgbe ahụ anyị nwere nnukwu nsogbu: kwụ n'ahịrị efu! Data niile agaala! Ọbụna ma ọ bụrụ na ị nwere enyo nke na-ejidekarị n'ahịrị bụ isi, a na-atụfukwa enyo ndị ahụ.
Iji tinyegharịa ọnụ nwere otu aha, anyị na-agwa ụyọkọ ahụ ka ha chefuo ọnụ furu efu (ya na iwu ahụ. rabbitmqctl chefuo_cluster_node) wee malite onye na-ere ahịa ọhụrụ nwere otu aha nnabata ahụ. Ọ bụ ezie na ụyọkọ ahụ na-echeta ọnụ ụzọ furu efu, ọ na-echeta kwụ n'ahịrị ochie na enyo emekọrịtaghị. Mgbe a gwara ụyọkọ ka ọ chefuo ọnụ ọnụ nke ụmụ mgbei, a na-echefukwa kwụ n'ahịrị ahụ. Ugbu a, anyị kwesịrị ikwuwapụta ya ọzọ. Anyị tụfuru data niile, n'agbanyeghị na anyị nwere enyo nwere akụkụ data. Ọ ga-aka mma ka ịgbanwee gaa na enyo anaghị emekọrịta ihe!
Ya mere, mmekọrịta akwụkwọ ntuziaka (na ọdịda imekọrịta) yana njikọ ha-promote-on-failure=when-synced, n'uche nke m, dị nnọọ ize ndụ. Docs kwuru na nhọrọ a dị maka nchekwa data, mana ọ bụ mma nwere ihu abụọ.
Nna-ukwu ngbanwe
Dị ka e kwere ná nkwa, anyị na-alaghachi na nsogbu nke nchịkọta nke nna ukwu niile na otu ma ọ bụ ọtụtụ ọnụ. Nke a nwere ike ime n'ihi mmelite ụyọkọ na-atụgharị. N'ime ụyọkọ ọnụ atọ, ahịrị ndị nna ukwu niile ga-agbakọta n'otu ọnụ ma ọ bụ abụọ.
Nhazigharị nna ukwu nwere ike bụrụ nsogbu maka ihe abụọ:
- Enweghị ngwá ọrụ dị mma iji mee nhazigharị
- Mmekọrịta kwụ n'ahịrị
Enwere onye nke atọ maka ịhazigharị , nke anaghị akwado ọchịchị. Banyere plugins ndị ọzọ na ntuziaka RabbitMQ : “Ihe mgbakwunye ahụ na-enye ụfọdụ nhazi na ngwaọrụ mkpesa, mana otu RabbitMQ anaghị akwado ma ọ bụ kwado ya. Jiri n'ihe ize ndụ nke gị."
E nwere aghụghọ ọzọ ịkwaga isi kwụ n'ahịrị site na iwu HA. Akwụkwọ ntuziaka ahụ kwuru maka nke a. Ọ na-arụ ọrụ dị ka nke a:
- Na-ewepụ enyo niile site na iji iwu nwa oge nke nwere ihe dị elu karịa iwu HA dị ugbu a.
- Na-agbanwe amụma nwa oge HA iji jiri ọnọdụ node, na-akọwapụta ọnụ ebe ekwesịrị ibufe nnukwu kwụ n'ahịrị.
- Na-emekọrịta kwụ n'ahịrị maka mbugharị.
- Mgbe ọpụpụ mechara, na-ehichapụ amụma nwa oge. Usoro iwu HA nke mbụ na-arụ ọrụ na ọnụ ọgụgụ enyo achọrọ.
Ọdịda ya bụ na usoro a nwere ike ọ gaghị arụ ọrụ ma ọ bụrụ na ị nwere nnukwu kwụ n'ahịrị ma ọ bụ ihe achọrọ nrụgharị siri ike.
Ugbu a, ka anyị hụ ka ụyọkọ RabbitMQ si arụ ọrụ na nkebi netwọkụ.
Ọnwụ nke njikọta
A na-ejikọta ọnụ nke usoro kesara site na njikọ netwọk, na njikọ netwọk nwere ike ịkwụsị. Ugboro nke nkwụsị na-adabere na akụrụngwa mpaghara ma ọ bụ ntụkwasị obi nke igwe ojii ahọpụtara. N'ọnọdụ ọ bụla, sistemụ kesara ga-enwerịrị ike ịnagide ha. Ọzọ anyị nwere nhọrọ n'etiti nnweta na agbanwe agbanwe, ọzọkwa ozi ọma ahụ bụ na RabbitMQ na-enye nhọrọ abụọ ahụ (ọ bụghị n'otu oge).
Na RabbitMQ anyị nwere nhọrọ abụọ bụ isi:
- Kwe ka nkewa ezi uche dị na ya (nkewa-ụbụrụ). Nke a na-eme ka ọ dị adị, mana ọ nwere ike ibute ọnwụ data.
- Gbanyụọ nkewa ezi uche dị na ya. Nwere ike bute mfu nnweta obere oge dabere n'otú ndị ahịa si ejikọta na ụyọkọ ahụ. Ọ nwekwara ike iduga enweghị ya zuru oke na ụyọkọ ọnụ abụọ.
Ma gịnị bụ nkewa ezi uche dị na ya? Nke a bụ mgbe ụyọkọ na-ekewa abụọ n'ihi nkwụsị nke njikọ netwọk. N'akụkụ nke ọ bụla, a na-akwalite enyo ndị ahụ ka ọ bụrụ nna ukwu, nke mere na n'ikpeazụ enwere ọtụtụ nna ukwu kwa oge.

Osikapa. 17. Isi kwụ n'ahịrị na enyo abụọ, nke ọ bụla na ọnụ ụzọ dị iche. Mgbe ahụ, netwọkụ na-ada ada wee kewapụ otu enyo. Ọnụ ọnụ nke kewapụrụ na-ahụ na abụọ ndị ọzọ adapụwo ma kwalite enyo ya na nna ukwu. Ugbu a, anyị nwere ahịrị abụọ bụ́ isi, ma nke a na-ede na nke a pụrụ ịgụ.
Ọ bụrụ na ndị nkwusa ezigara ndị nna ukwu abụọ ahụ data, anyị na-ejedebe na mbipụta abụọ dị iche iche nke kwụ n'ahịrị.
Udịdị RabbitMQ dị iche iche na-enye ma ọ dị adị ma ọ bụ nkwekọ.
Ileghara ọnọdụ anya (nke ndabara)
Ụdị a na-eme ka ọ dị mfe ịnweta. Mgbe mfu nke njikọta, a ezi uche nkewa na-eme. Ka eweghachite njikọ, onye nchịkwa ga-ekpebi nkebi ọ ga-ebute ụzọ. A ga-amalitegharị akụkụ ahụ na-efunahụ na data niile ekpokọbara n'akụkụ ahụ ga-efunahụ ya.

Osikapa. 18. A na-ejikọta ndị nkwusa atọ na ndị na-ere ahịa atọ. N'ime, ụyọkọ ahụ na-aga arịrịọ niile gaa n'ahịrị kwụ n'ahịrị na Broker 2.
Ugbu a, anyị na-efunahụ Broker 3. Ọ na-ahụ na ndị na-ere ahịa ndị ọzọ adapụwo ma kwalite enyo ya na nna ukwu. Nke a bụ ka nkewa ezi uche dị na ya si eme.

Osikapa. 19. Nkewa ezi uche (nkewa-ụbụrụ). Ihe ndekọ na-abanye n'ahịrị abụọ bụ isi, ma mbipụta abụọ ahụ dịgasị iche.
Eweghachiri njikọta, mana nkewa ezi uche dị na fọdụ. Onye nchịkwa ga-eji aka họrọ akụkụ na-efunahụ ya. N'okwu dị n'okpuru ebe a, onye nchịkwa reboots Broker 3. Ozi niile ọ na-enweghị ike ịnyefe na-efunahụ.

Osikapa. 20. Onye nchịkwa kwụsịrị Broker 3.

Osikapa. 21. Onye nchịkwa na-amalite Broker 3 wee banye na ụyọkọ ahụ, na-efunahụ ozi niile fọdụrụ ebe ahụ.
N'oge mfu nke njikọta na mgbe mweghachi ya, ụyọkọ na kwụ n'ahịrị a dị maka ịgụ na ide.
Ụdị ọgwụgwọ onwe
Na-arụ ọrụ n'otu aka ahụ na-eleghara ọnọdụ anya, belụsọ na ụyọkọ ahụ n'onwe ya na-ahọrọ akụkụ nke na-efunahụ ya na-akpaghị aka mgbe kewasịrị na weghachi njikọ. Akụkụ na-efunahụ na-alaghachi na ụyọkọ ahụ efu, kwụ n'ahịrị na-atụfukwa ozi niile ezigara naanị n'akụkụ ahụ.
Kwụsị Ụkpụrụ Nta
Ọ bụrụ na anyị achọghị ikwe ka nkewa nke ezi uche dị na ya, naanị nhọrọ anyị bụ ịtụfu agụ na dee n'akụkụ nke nta ka nkewa nke ụyọkọ gachara. Mgbe onye na-ere ahịa hụrụ na ọ dị n'akụkụ dị nta, ọ na-akwụsị ọrụ, ya bụ, ọ na-emechi njikọ niile dị na ya ma jụ nke ọhụrụ ọ bụla. Otu ugboro kwa sekọnd ọ na-enyocha maka mweghachi njikọ. Ozugbo e weghachiri njikọ, ọ maliteghachiri ọrụ wee sonyere ụyọkọ ahụ.

Osikapa. 22. A na-ejikọta ndị nkwusa atọ na ndị na-ere ahịa atọ. N'ime, ụyọkọ ahụ na-aga arịrịọ niile gaa n'ahịrị kwụ n'ahịrị na Broker 2.
Brokers 1 na 2 wee kewaa na Broker 3. Kama ịkwalite enyo ha ka ọ bụrụ nna ukwu, Broker 3 kwụsịtụrụ wee bụrụ nke adịghị adị.

Osikapa. 23. Broker 3 kwụsịtụrụ, kwupu ndị ahịa niile ma jụ arịrịọ njikọ.
Ozugbo e weghachiri njikọ, ọ na-alaghachi na ụyọkọ ahụ.
Ka anyị lee ihe atụ ọzọ ebe isi kwụ n'ahịrị dị na Broker 3.

Osikapa. 24. Main kwụ n'ahịrị na Broker 3.
Mgbe ahụ, otu ọnwụ nke njikọta na-eme. Broker 3 kwụsịrị n'ihi na ọ dị n'akụkụ nta. N'akụkụ nke ọzọ, ọnụ ụzọ ahụ na-ahụ na Broker 3 adapụwo, ya mere a na-akwalite enyo ochie sitere na Brokers 1 na 2 ka ọ bụrụ nna ukwu.

Osikapa. 25. Ntughari na Broker 2 ma ọ bụrụ na Broker 3 adịghị.
Mgbe eweghachiri njikọta, Broker 3 ga-esonye na ụyọkọ ahụ.

Osikapa. 26. Ụyọkọ alaghachila n’ọrụ.
Ihe dị mkpa ịghọta ebe a bụ na anyị na-enweta nkwụsi ike, mana anyị nwekwara ike nweta nnweta, ma ọ bụrụ na Anyị ga-ebufe ndị ahịa nke ọma n'ọtụtụ ngalaba. Maka ọtụtụ ọnọdụ, m n'onwe m ga-ahọrọ ọnọdụ nkwụsịtụ obere, mana ọ dabere n'ezie na nke onye ọ bụla.
Iji hụ na e nwere, ọ dị mkpa ịhụ na ndị ahịa jikọọ nke ọma na onye ọbịa. Ka anyị lelee nhọrọ anyị.
Na-ahụ maka njikọta ndị ahịa
Anyị nwere ọtụtụ nhọrọ maka otu esi eduzi ndị ahịa gaa na isi akụkụ nke ụyọkọ ma ọ bụ na-arụ ọrụ ọnụ (mgbe otu ọnụ na-ada) mgbe enweghị njikọ. Nke mbụ, ka anyị cheta na a na-akwado otu kwụ n'ahịrị n'otu ọnụ ọnụ, mana a na-emegharị usoro na iwu n'ofe ọnụ niile. Ndị ahịa nwere ike jikọọ na ọnụ ọnụ ọ bụla, na ụzọ ime ime ga-eduzi ha ebe ha kwesịrị ịga. Mana mgbe a kwụsịtụrụ ọnụ ọnụ, ọ na-ajụ njikọ, yabụ ndị ahịa ga-ejikọrịrị na ọnụ ọzọ. Ọ bụrụ na ọnụ ahụ daa, ọ dị ntakịrị ihe ọ ga-eme ma ọlị.
Nhọrọ anyị:
- A na-enweta ụyọkọ ahụ site na iji ihe nkwụnye ibu nke na-agafe n'ọnụ ọnụ ma ndị ahịa na-agbalị ijikọ ruo mgbe ịga nke ọma. Ọ bụrụ na ọnụ ọnụ ala ma ọ bụ kwụsịtụrụ, mgbe ahụ mgbalị iji jikọọ na ọnụ ahụ ga-ada, mana mbọ ndị ọzọ ga-aga na sava ndị ọzọ (n'ụdị ejiji gburugburu). Nke a dabara adaba maka mfu njikọ dị mkpirikpi ma ọ bụ ihe nkesa dara ada nke a ga-eweghachite ngwa ngwa.
- Nweta ụyọkọ ahụ site na ihe nrụzi ibu wee wepụ ọnụ ndị kwụsịtụrụ/ dara na ndepụta ahụ ozugbo achọpụtara ha. Ọ bụrụ na anyị na-eme nke a ngwa ngwa, ma ọ bụrụ na ndị ahịa nwere ike ịnwale njikọ ahụ, mgbe ahụ, anyị ga-enweta nnweta mgbe niile.
- Nye onye ahịa ọ bụla ndepụta ọnụ ọnụ niile, onye ahịa na-ahọrọ otu n'ime ha na-akpaghị aka mgbe ị na-ejikọta. Ọ bụrụ na ọ nwetara mperi mgbe ọ na-agbalị ijikọ, ọ ga-aga n'ọnụ na-esote na listi ahụ ruo mgbe ọ jikọtara.
- Wepu okporo ụzọ site na oghere dara ada/ kwụsịtụrụ site na iji DNS. A na-eme nke a site na iji obere TTL.
Nchoputa
Nchịkọta RabbitMQ nwere uru na ọghọm ya. Ihe ọghọm kachasị njọ bụ na:
- mgbe ị na-esonye na ụyọkọ, ọnụ na-atụfu data ha;
- igbochi mmekọrịta na-eme ka kwụ n'ahịrị ghara ịdị.
Mkpebi niile siri ike sitere na njirimara ụkpụrụ ụlọ abụọ a. Ọ bụrụ na RabbitMQ nwere ike ịchekwa data mgbe ejikọtakwara ụyọkọ ahụ, mgbe ahụ mmekọrịta ga-adị ngwa ngwa. Ọ bụrụ na ọ nwere ike ịmekọrịta mmekọrịta anaghị egbochi, ọ ga-aka mma ịkwado nnukwu kwụ n'ahịrị. Idozi okwu abụọ a ga-eme ka arụmọrụ RabbitMQ dịkwuo mma dị ka teknụzụ ozi na-anabata mmejọ yana nke ukwuu. M ga-ala azụ ịkwado RabbitMQ na nchịkọta na ọnọdụ ndị a:
- Netwọk enweghị ntụkwasị obi.
- Nchekwa enweghị ntụkwasị obi.
- Ahịrị ogologo nke ukwuu.
Mgbe a bịara na ntọala nnweta dị elu, tụlee ihe ndị a:
ha-promote-on-failure=alwaysha-sync-mode=manualcluster_partition_handling=ignore(ma ọ bụautoheal)- ozi na-adịgide adịgide
- hụ na ndị ahịa jikọọ na ọnụ nọ n'ọrụ mgbe ụfọdụ ọnụ daa
Maka ndakọrịta (nchekwa data), tụlee ntọala ndị a:
- Onye mbipụta na-akwado na nkwado akwụkwọ ntuziaka n'akụkụ ndị ahịa
ha-promote-on-failure=when-synced, ma ọ bụrụ na ndị nkwusa nwere ike na-agbalị ọzọ mgbe e mesịrị na ọ bụrụ na ị nwere nnọọ ntụkwasị obi nchekwa! Ma ọ bụghị tinye=always.ha-sync-mode=automatic(mana maka nnukwu kwụ n'ahịrị anaghị arụ ọrụ nwere ike ịchọrọ ụkpụrụ ntuziaka; tulee ma enweghị ya ọ ga-eme ka ozi ghara ịla n'iyi)- Kwụsịtụ ụkpụrụ obere
- ozi na-adịgide adịgide
Anyị ekpuchibeghị okwu niile gbasara nnabata mmejọ yana ịdị elu dị elu; dịka ọmụmaatụ, otu esi arụ usoro nhazi na enweghị ntụkwasị obi (dịka mmelite mpịakọta). Anyị kwesịkwara ikwu maka federation na ngwa ngwa iheejiegwala.
Ọ bụrụ na atufuru m ihe ọ bụla ọzọ, biko mee ka m mara.
Hụkwa nke m , Ebe m na-eme ọgba aghara na ụyọkọ RabbitMQ site na iji Docker na Blockade iji nwalee ụfọdụ ọnọdụ ọnwụ ozi akọwara n'isiokwu a.
Edemede ndị gara aga na nsonso a:
Nke 1 -
Nke 2 -
Nke 3 -
isi: www.habr.com
