Fahimtar dillalan sako. Koyan injiniyoyin saƙo tare da ActiveMQ da Kafka. Babi na 1

Hello kowa da kowa!

An fara fassarar ƙaramin littafi:
«Fahimtar Dillalan Saƙo«
marubuci: Jakub Korab, mawallafi: O'Reilly Media, Inc., kwanan watan da aka buga: Yuni 2017, ISBN: 9781492049296.

Daga gabatarwar littafin:
"... Wannan littafin zai koya muku yadda ake tunani game da tsarin saƙon da aka yi ciniki ta hanyar kwatantawa da kuma bambanta shahararrun fasahohin dillanci guda biyu: Apache ActiveMQ da Apache Kafka. Zai zayyana shari'o'in amfani da abubuwan haɓakawa waɗanda suka jagoranci masu haɓaka su ɗaukar hanyoyi daban-daban zuwa yanki ɗaya na saƙon da aka yi sulhu tsakanin tsarin. Za mu kalli waɗannan fasahohin tun daga tushe kuma mu haskaka tasirin zaɓin ƙira daban-daban a hanya. Za ku sami zurfin fahimtar samfuran duka biyu, fahimtar yadda yakamata kuma bai kamata a yi amfani da su ba, da fahimtar abin da za ku nema yayin la'akari da sauran fasahohin saƙo a nan gaba. … ”

Sassan da aka fassara zuwa yanzu:
Babi na 1 Gabatarwa
Babi na 3. Kafka

Zan buga surori da aka kammala yayin da ake fassara su.

BABI NA 1

Gabatarwar

Saƙon tsakanin tsarin yana ɗaya daga cikin wuraren da ba a fahimta ba na IT. A matsayinka na mai haɓakawa ko mai zane-zane, ƙila ka saba da tsarin tsarin bayanai da bayanai daban-daban. Koyaya, yana yiwuwa kawai kuna da hangen nesa na yadda fasahar saƙon dillali ke aiki. Idan haka ne kuke ji, kada ku damu, kuna cikin kyakkyawan kamfani.

Mutane yawanci suna da iyakacin hulɗa da kayan aikin saƙo. Sau da yawa suna haɗawa da tsarin da aka ƙirƙira tuntuni, ko kuma zazzage kayan rarrabawa daga Intanet, shigar da shi a cikin PROM kuma su fara rubuta masa lamba. Bayan gudanar da ababen more rayuwa a cikin PROM, sakamakon na iya zama gauraye: saƙonnin sun ɓace akan hadarurruka, aika ba sa aiki kamar yadda kuke tsammani, ko dillalai suna rataye masu kera ku ko kar a aika saƙonni zuwa ga masu siye.

Sauti saba?

Yanayin gama gari inda lambar saƙon ku ke aiki lafiya, na ɗan lokaci. Har sai ya daina aiki. Wannan lokacin yana ɗaukar hankali kuma yana ba da ma'anar tsaro ta ƙarya, wanda ke haifar da ƙarin lambar bisa ra'ayoyin ƙarya game da ainihin halayen fasaha. Lokacin da abubuwa suka fara tafiya ba daidai ba, kuna fuskantar wata gaskiyar da ba ta da daɗi: cewa da gaske ba ku fahimci ainihin halayen samfurin ba, ko cinikin da marubutan suka zaɓa, kamar aiki tare da ƙarfi, ko ma'amala tare da a kwance. scalability.

Ba tare da zurfin fahimtar yadda dillalai ke aiki ba, mutane suna yin da'awar ga alama game da tsarin saƙon su, kamar:

  • Tsarin ba zai taɓa rasa saƙonni ba
  • Za a sarrafa saƙon bi da bi
  • Ƙara masu amfani zai sa tsarin ya yi sauri
  • Za a isar da saƙonni sau ɗaya kawai

Abin takaici, wasu daga cikin waɗannan maganganun sun dogara ne akan zato waɗanda kawai ke aiki a wasu yanayi, yayin da wasu ba gaskiya ba ne.

Wannan littafin zai koya muku yadda ake tunani game da tsarin saƙon da aka yi ciniki ta hanyar kwatantawa da bambanta fasahohin dillalai guda biyu: Apache ActiveMQ da Apache Kafka. Zai zayyana shari'o'in amfani da abubuwan haɓakawa waɗanda suka jagoranci masu haɓaka su ɗaukar hanyoyi daban-daban zuwa yanki ɗaya na saƙon da aka yi sulhu tsakanin tsarin. Za mu kalli waɗannan fasahohin tun daga tushe kuma mu haskaka tasirin zaɓin ƙira daban-daban a hanya. Za ku sami zurfin fahimtar samfuran duka biyu, fahimtar yadda yakamata kuma bai kamata a yi amfani da su ba, da fahimtar abin da za ku nema yayin la'akari da sauran fasahohin saƙo a nan gaba.

Kafin mu fara, bari mu wuce kan abubuwan yau da kullun.

Menene tsarin saƙon kuma me yasa ake buƙata

Domin aikace-aikace guda biyu don sadarwa tare da juna, dole ne su fara ayyana ma'amala. Ma'anar wannan ƙa'idar ta haɗa da zaɓin sufuri ko yarjejeniya kamar HTTP, MQTT, ko SMTP, da shawarwarin tsarin saƙon da tsarin zai musanya. Wannan na iya zama tsayayyen tsari, kamar ayyana tsarin XML tare da buƙatun farashi na biyan kuɗi don saƙo, ko kuma yana iya zama ƙasa da ƙa'ida, kamar yarjejeniya tsakanin masu haɓakawa biyu cewa wani ɓangare na buƙatar HTTP zai ƙunshi mai gano abokin ciniki. .

Matukar dai tsarin sakonnin da tsarin aikawa da su ya yi daidai a tsakanin tsarin, za su iya sadarwa da juna ba tare da damuwa da aiwatar da wani tsarin ba. Abubuwan ciki na waɗannan tsarin, kamar harshen shirye-shirye ko tsarin da aka yi amfani da su, na iya canzawa cikin lokaci. Muddin kwangilar kanta tana kiyaye, hulɗar na iya ci gaba da canzawa a wani gefen. An raba tsarin guda biyu yadda ya kamata (rabu) ta wannan hanyar sadarwa.

Tsarin saƙo yawanci sun haɗa da tsaka-tsaki tsakanin tsarin biyu waɗanda ke hulɗa don ƙara warewa (raba) mai aikawa daga mai karɓa ko karɓa. A wannan yanayin, tsarin aika saƙon yana bawa mai aikawa damar aika saƙo ba tare da sanin inda wanda aka aika yake ba, ko yana aiki ko kuma adadin lokuta nawa.

Bari mu kalli wasu kwatanci guda biyu don nau'ikan matsalolin tsarin saƙo yana warwarewa da gabatar da wasu ƙa'idodi na asali.

Matsayi-zuwa-aya

Alexandra ta je gidan waya don aika kunshin ga Adam. Tana zuwa taga ta mikawa ma'aikacin kayan. Ma'aikacin ya ɗauki kunshin ya ba Alexandra rasit. Adamu baya bukatar zama a gida lokacin da aka aika kunshin. Alexandra tana da kwarin gwiwa cewa za a kai wa Adam wannan kunshin a wani lokaci nan gaba kuma za ta iya ci gaba da gudanar da harkokinta. Daga baya, a wani lokaci, Adamu ya karɓi kunshin.

Wannan misali ne na samfurin saƙo nuni zuwa nuni. Ofishin gidan waya a nan yana aiki azaman tsarin rarraba fakiti, yana tabbatar da cewa an isar da kowane fakiti sau ɗaya. Amfani da gidan waya yana raba aikin aika kunshin daga isar da fakitin.
A cikin tsarin saƙon gargajiya, ana aiwatar da samfurin batu-zuwa ta hanyar jerin gwano. Jerin yana aiki azaman FIFO (na farko a cikin, na farko) buffer wanda ɗaya ko fiye da masu amfani zasu iya biyan kuɗi zuwa. Ana isar da kowane sako kawai ɗaya daga cikin masu siye da aka yi rajista. Lissafi yawanci suna ƙoƙarin rarraba saƙonni cikin adalci tsakanin masu amfani. Mabukaci ɗaya ne kawai zai karɓi wannan saƙon.

Ana amfani da kalmar "mai dorewa" akan layi. AMINCI dukiya ce ta sabis wacce ke ba da garantin cewa tsarin saƙon zai adana saƙonni idan babu masu biyan kuɗi masu aiki har sai mabukaci ya yi rajista ga layin isar da saƙo.

Amintaccen sau da yawa yana rikicewa da dagewa kuma, ko da yake kalmomin biyu suna musanya, suna yin ayyuka daban-daban. Dagewa yana ƙayyade ko tsarin saƙon ya rubuta saƙo zuwa wani nau'i na ajiya tsakanin karba da aika shi ga mabukaci. Saƙonnin da aka aika zuwa jerin gwano na iya kasancewa ko a'a.
Ana amfani da saƙon batu-zuwa lokacin da yanayin amfani yana buƙatar aiki ɗaya akan saƙo. Misalai sun haɗa da saka kuɗi a cikin asusu ko cika odar bayarwa. Za mu tattauna daga baya dalilin da yasa tsarin saƙon da kansa ba zai iya samar da isar da sako na lokaci ɗaya ba kuma me yasa layukan layi zasu iya samar da garantin isar da kyau. akalla sau daya.

Mawallafi-Mai biyan kuɗi

Gabriella ta buga lambar taro. Yayin da aka haɗa ta da taron, ta ji duk abin da mai magana ya fada, tare da sauran mahalarta kiran. Idan ta bak'i ta rasa me ake cewa. Lokacin da aka sake haɗawa, ta ci gaba da jin abin da ake faɗa.

Wannan misali ne na samfurin saƙo buga-subscribe. Kiran taro yana aiki azaman hanyar watsa shirye-shirye. Mutumin da ke magana bai damu da yawan mutane a halin yanzu ba - tsarin yana tabbatar da cewa duk wanda ke da alaƙa a halin yanzu zai ji abin da ake faɗa.
A cikin tsarin saƙon gargajiya, ana aiwatar da ƙirar saƙon buga-biyan kuɗi ta hanyar fi. Maudu'i yana ba da hanyar watsa shirye-shirye iri ɗaya kamar tsarin taro. Lokacin da aka buga sako zuwa wani batu, ana rarraba shi ga duk masu amfani da aka yi rajista.

Batutuwa yawanci unreliable (mara nauyi). Kamar mai sauraron da ba zai iya jin abin da ake faɗa a cikin kiran taro ba, idan mai sauraron ya tafi layi, masu biyan kuɗi suna rasa duk wani saƙon da aka aika yayin da suke layi. Saboda wannan dalili, zamu iya cewa saman yana ba da garantin bayarwa. ba fiye da sau ɗaya ba ga kowane mabukaci.

Ana amfani da saƙon Buga-Subscribe yawanci lokacin da saƙonnin suna da bayanai kuma asarar saƙo ɗaya ba ta da mahimmanci musamman. Misali, jigo na iya watsa karatun zafin jiki daga rukunin firikwensin sau ɗaya a sakan daya. Tsarin da ke da sha'awar yanayin zafi na yanzu kuma wanda ke biyan kuɗi zuwa wani batu ba zai damu ba idan ya rasa saƙo - wani zai zo nan da nan.

matasan model

Gidan yanar gizon kantin yana sanya saƙon oda a cikin "layin saƙo". Babban mabukaci na waɗannan saƙonnin shine tsarin gudanarwa. Bugu da kari, tsarin tantancewa ya kamata ya kasance yana da kwafi na wadannan sakonnin oda don bin diddigin gaba. Duk tsarin biyu ba za su iya rasa saƙonnin ba, ko da tsarin da kansu ba su da shi na ɗan lokaci. Gidan yanar gizon bai kamata ya san wasu tsarin ba.

Abubuwan amfani galibi suna buƙatar haɗaɗɗen ƙididdiga-biyan kuɗi da ƙirar saƙon-zuwa-aya, kamar lokacin da tsarin da yawa ke buƙatar kwafin saƙo kuma ana buƙatar aminci da tsayin daka don hana asarar saƙo.

A cikin waɗannan lokuta, ana buƙatar wurin da aka nufa (gabaɗaya kalma don layi da batutuwa), wanda ke rarraba saƙonnin asali kamar jigo, ta yadda kowane saƙo yana aika zuwa wani tsarin daban wanda ke sha'awar waɗannan saƙonnin, amma kuma a cikinsa kowane tsarin zai iya ayyana masu amfani da yawa. masu karɓar saƙonni masu shigowa, wanda ya fi kama da layi. Nau'in karatun a cikin wannan yanayin shine - sau daya ga kowane mai ruwa da tsaki. Waɗannan wuraren haɗaɗɗun wurare galibi suna buƙatar dorewa ta yadda idan mabukaci ya katse, ana karɓar saƙonnin da aka aika a lokacin lokacin da mabukaci ya sake haɗawa.

Samfuran matasan ba sababbi ba ne kuma ana iya amfani da su ga galibin tsarin saƙon, gami da duka ActiveMQ (ta hanyar kama-da-wane ko ƙayyadaddun wurare waɗanda ke haɗa batutuwa da jerin gwano) da Kafka (a kai tsaye, a matsayin ainihin ainihin ƙirar ƙirar sa).

Yanzu da muke da wasu ƙamus na asali da fahimtar abin da tsarin saƙon zai iya amfani da shi, bari mu shiga cikin cikakkun bayanai.

Anyi fassarar: tele.gg/middle_java

Sashe na gaba da aka fassara: Babi na 3. Kafka

A ci gaba…

source: www.habr.com

Add a comment