Ukuqonda abathengisi bemiyalezo. Ukufunda ubuchwephesha bokuthumela imiyalezo nge-ActiveMQ kunye neKafka. Isahluko 1

Sawubona wonke umntu!

Uqalise ukuguqulela incwadi encinci:
Β«Ukuqonda iiBroker zoMyalezo",
umbhali: Jakub Korab, umshicileli: O'Reilly Media, Inc., umhla wokupapashwa: Juni 2017, ISBN: 9781492049296.

Ukususela kwintshayelelo yencwadi:
"... Le ncwadi iya kukufundisa indlela yokucinga malunga neenkqubo zokuthumela imiyalezo ngokuthelekisa kunye nokuthelekisa iitekhnoloji ezimbini ezidumileyo zokuthengisa: iApache ActiveMQ kunye neApache Kafka. Iza kuchaza iimeko zokusetyenziswa kunye nenkuthazo yophuhliso ekhokelele abaphuhlisi babo ukuba bathathe iindlela ezahlukeneyo kakhulu kwindawo enye yokuthunyelwa kwemiyalezo phakathi kweenkqubo. Siza kujonga kobu buchwepheshe ukusuka phezulu kwaye siqaqambise impembelelo yokhetho loyilo olwahlukileyo endleleni. Uya kufumana ukuqonda okunzulu kweemveliso zombini, ukuqonda ukuba kufuneka kwaye zingasetyenziswa njani, kunye nokuqonda into omawuyijonge xa ​​uqwalasela obunye ubuchwepheshe bemiyalezo kwixa elizayo. ... "

Amacandelo aguqulelwe ngoku:
Isahluko 1 Intshayelelo
Isahluko 3. Kafka

Ndiza kuthumela izahluko ezigqityiweyo njengoko ziguqulelwa.

ISAHLUKO 1

Intshayelelo

Imiyalezo ye-Intersystem yenye yezona ndawo zingaqondwa kancinci kwi-IT. Njengomphuhlisi okanye umyili wezakhiwo, usenokuba uqhelene kakhulu nezakhelo ezahlukeneyo kunye nogcino-lwazi. Nangona kunjalo, kusenokwenzeka ukuba unombono nje wendlela itekhnoloji yemiyalezo esekwe kumthengisi isebenza ngayo. Ukuba uvakalelwa ngaloo ndlela, ungakhathazeki, ukwinkampani elungileyo.

Abantu bahlala benonxibelelwano oluncinci kakhulu kunye nesiseko sothunyelo lwemiyalezo. Ngokuqhelekileyo baqhagamshela kwinkqubo eyenziwe kudala, okanye bakhuphele ikiti yokuhambisa kwi-Intanethi, bayifake kwi-PROM kwaye baqalise ukubhala ikhowudi kuyo. Emva kokuqhuba isiseko kwi-PROM, iziphumo zinokuxutywa: imiyalezo ilahlekile kwingozi, ukuthumela akusebenzi njengoko ulindele, okanye abathengisi baxhoma abavelisi bakho okanye abathumeli imiyalezo kubathengi bakho.

Ivakala iqhelekile?

Imeko eqhelekileyo apho ikhowudi yakho yokuthumela umyalezo isebenza kakuhle, okwangoku. Ide iyeke ukusebenza. Eli xesha liphazamisa ukuqapha kwaye linike ingqiqo yobuxoki yokhuseleko, ekhokelela kwikhowudi engaphezulu esekelwe kwiingcamango ezibubuxoki malunga nokuziphatha okusisiseko kweteknoloji. Xa izinto ziqala ukungahambi kakuhle, ujongene nenyaniso engathandekiyo: yokuba awuzange uyiqonde indlela yokuziphatha esisiseko yemveliso, okanye urhwebo olukhethwe ngababhali, njengokusebenza ngokuchasene nokomelela, okanye ukuthengiselana ngokuchasene nokuthe tyaba. scalability.

Ngaphandle kokuqonda okunzulu malunga nendlela abasebenza ngayo abarhwebi, abantu benza amabango abonakala efanelekile malunga neenkqubo zabo zokuthumela imiyalezo, ezinje ngale:

  • Inkqubo ayisoze ilahlekelwe yimiyalezo
  • Imiyalezo iya kuqhutywa ngokulandelelanayo
  • Ukongeza abathengi kuya kwenza inkqubo ngokukhawuleza
  • Imiyalezo iyakuthunyelwa kube kanye kuphela

Ngelishwa, ezinye zezi nkcazo zisekelwe kwintelekelelo esebenza kuphela phantsi kweemeko ezithile, ngelixa ezinye zingeyonyani.

Le ncwadi iya kukufundisa indlela yokuqiqa malunga neenkqubo zokuthumela imiyalezo ngokuthelekisa kunye nokuthelekisa itekhnoloji ezimbini ezidumileyo zomthengisi: iApache ActiveMQ kunye neApache Kafka. Iza kuchaza iimeko zokusetyenziswa kunye nenkuthazo yophuhliso ekhokelele abaphuhlisi babo ukuba bathathe iindlela ezahlukeneyo kakhulu kwindawo enye yokuthumela imiyalezo phakathi kweenkqubo. Siza kujonga kobu buchwepheshe ukusuka phezulu kwaye siqaqambise impembelelo yokhetho loyilo olwahlukileyo endleleni. Uya kufumana ukuqonda okunzulu kweemveliso zombini, ukuqonda malunga nendlela ekumele kwaye ingasetyenziswa ngayo, kunye nokuqonda into omawuyijonge xa ​​uqwalasela obunye ubuchwepheshe bemiyalezo kwixa elizayo.

Ngaphambi kokuba siqale, makhe sijonge izinto ezisisiseko.

Yintoni inkqubo yokuthumela imiyalezo kwaye kutheni ifuneka

Ukuze izicelo ezimbini zinxibelelane omnye nomnye, kufuneka ziqale zichaze ujongano. Inkcazo yolu jongano ibandakanya ukhetho lwezothutho okanye iprotocol efana ne-HTTP, i-MQTT, okanye i-SMTP, kunye nothetha-thethwano lweefomathi zemiyalezo eziya kutshintshwa kwiinkqubo. Oku kunokuba yinkqubo engqongqo, njengokuchaza i-schema ye-XML eneemfuno zeendleko zomthwalo womyalezo, okanye inokuba semthethweni kakhulu, njengesivumelwano phakathi kwabaphuhlisi ababini ukuba inxalenye yesicelo se-HTTP iya kuba nesichongi somthengi.

Ngethuba nje ifomathi yemiyalezo kunye nomyalelo othunyelwa ngayo uhambelana phakathi kweenkqubo, baya kukwazi ukunxibelelana ngaphandle kokukhathazeka malunga nokuphunyezwa kwenye inkqubo. Abangaphakathi kwezi nkqubo, ezifana nolwimi lweprogram okanye isakhelo esisetyenzisiweyo, banokutshintsha ngokuhamba kwexesha. Ngethuba nje inkontileka ngokwayo igcinwe, intsebenziswano ingaqhubeka ingatshintshi kwelinye icala. Ezi nkqubo zimbini ziqhawulwe ngokufanelekileyo (zahlulwe) ngolu jongano.

Iisistim zemiyalezo ngokuqhelekileyo zibandakanya umthetheli phakathi kweenkqubo ezimbini ezisebenzisanayo ukuphinda kwahlukane (ukwahlula) umthumeli kumamkeli okanye abamkeli. Kule meko, inkqubo yokuthumela imiyalezo ivumela umthumeli ukuba athumele umyalezo ngaphandle kokwazi apho ummkeli ahlala khona, nokuba uyasebenza okanye zingaphi iimeko zabo.

Makhe sijonge izifaniso ezimbalwa kwiindidi zeengxaki ezisonjululwa yinkqubo yomyalezo kwaye sazise amagama asisiseko.

Khomba-kwi-Point

UAlexandra uya eposini ukuze athumele ipasile kuAdam. Uya efestileni aze anike umqeshwa loo pasile. Umsebenzi uchola ipasile aze anike uAlexandra irisiti. Akuyomfuneko ukuba uAdam abe sekhaya xa iphakheji ithunyelwa. U-Alexandra uqinisekile ukuba iphakheji iya kuhanjiswa kuAdam ngexesha elithile kwixesha elizayo kwaye unokuqhubeka nokuhamba ngeshishini lakhe. Kamva, ngaxa lithile, uAdam ufumana ipasile.

Lo ngumzekelo wemodeli yomyalezo khomba kwinqaku. Iposi apha isebenza njengendlela yokuhambisa iphakheji, iqinisekisa ukuba iphakheji nganye iziswa kube kanye. Ukusetyenziswa kweposi kwahlula isenzo sokuthumela ipasile ekuzisweni kwepasile.
Kwiinkqubo zemiyalezo yakudala, imodeli yenqaku-kwinqaku iphunyezwa nge emgceni. Umgca usebenza njenge-FIFO (eyokuqala ngaphakathi, eyokuqala ngaphandle) isithinteli ekunokuthi umntu omnye okanye abaninzi babhalise kuyo. Umyalezo ngamnye uhanjiswa kuphela omnye wabathengi ababhalisiweyo. Imigca idla ngokuzama ukusasaza imiyalezo ngokufanelekileyo phakathi kwabathengi. Mnye kuphela umsebenzisi oza kufumana lo myalezo.

Igama elithi "ukuqina" lisetyenziswa kwimigca. Ukuthembeka yipropathi yenkonzo eqinisekisa ukuba inkqubo yokuthumela imiyalezo iya kugcina imiyalezo ngokungabikho kwababhalisi abasebenzayo de umthengi abhalise kumgca wokuhanjiswa komyalezo.

Ukuthembeka kudla ngokubhidaniswa kunye ukuzingisa kwaye, nangona la magama mabini enokutshintshelana, enza imisebenzi eyahlukeneyo. Ukuzingisa kugqiba ukuba umyalezo ubhalwe yinkqubo yemiyalezo kuhlobo oluthile logcino phakathi kokuwufumana kunye nokuwuthumela kumthengi. Imiyalezo ethunyelwe emgceni isenokuzingisa okanye ingazingisi.
I-point-to-point message isetyenziswa xa imeko yokusetyenziswa ifuna isenzo esinye kumyalezo. Imizekelo ibandakanya ukufaka imali kwi-akhawunti okanye ukuzalisekisa umyalelo wokuhanjiswa. Siza kuxoxa kamva ukuba kutheni inkqubo yokuthumela imiyalezo iyodwa ingakwazi ukunikezela ngexesha elinye kwaye kutheni imigca inokubonelela ngesiqinisekiso sonikezelo. nokuba kube kanye.

Umshicileli-umrhumi

UGabriella ucofa inombolo yenkomfa. Ngelixa eqhagamshelwe kwinkomfa, uva yonke into ethethwa sisithethi, kunye nabanye abathathi-nxaxheba befowuni. Xa imnyama, uyayikhumbula into ethethwayo. Xa eqhagamshela kwakhona, uyaqhubeka eva oko kuthethwayo.

Lo ngumzekelo wemodeli yomyalezo shicilela-rhuma. Ubizo lwenkomfa lusebenza njengendlela yokusasaza. Umntu othethayo akakhathali ukuba bangaphi abantu abakhoyo ngoku emnxebeni - inkqubo iqinisekisa ukuba nabani na oqhagamshelwe ngoku uya kuyiva into ethethwayo.
Kwiinkqubo zemiyalezo yakudala, imodeli yokupapasha-urhumo iphunyezwe nge iintloko. Isihloko sibonelela ngendlela yosasazo efanayo njengendlela yenkomfa. Xa umyalezo uthunyelwe kwisihloko, usasazwa kubo bonke abasebenzisi ababhalisileyo.

Izihloko eziqhelekileyo ayithembekanga (ayinyamezelekiyo). Njengomphulaphuli ongakwaziyo ukuva oko kuthethwa kwifowuni yenkomfa, xa umphulaphuli ehamba ngaphandle kwe-intanethi, ababhalisi besihloko bayayiphosa nayiphi na imiyalezo ethunyelwa ngelixa bengaxhunyiwe kwi-intanethi. Ngenxa yesi sizathu, sinokuthi iziqwenga zibonelela ngesiqinisekiso sokuhanjiswa. hayi ngaphezulu kwesinye kumthengi ngamnye.

Papasha-Bhalisa imiyalezo idla ngokusetyenziswa xa imiyalezo inolwazi ngendalo kwaye ilahleko yomyalezo omnye ayibalulekanga kakhulu. Umzekelo, isihloko sinokudlulisela ukufundwa kobushushu kwiqela leenzwa kanye ngomzuzwana. Inkqubo enomdla kwiqondo lokushisa langoku kwaye ibhalisela isihloko ayiyi kuba nexhala xa iphosa umyalezo - enye iya kufika kungekudala.

iimodeli ezixubileyo

Iwebhusayithi yevenkile ibeka imiyalezo yeodolo "kumgca womyalezo". Umthengi oyintloko wale miyalezo yinkqubo yokulawula. Ukongeza, isistim yophicotho kufuneka ibe neekopi zale miyalezo yoku-odola ukuze ilandelelwe kamva. Zombini iinkqubo azinakuphoswa yimiyalezo, nokuba iinkqubo ngokwazo azifumaneki kangangexesha elithile. Iwebhusayithi akufanele izazi ezinye iinkqubo.

Iimeko zokusetyenziswa zihlala zifuna umxube wokupapasha-ukubhalisa kunye ne-point-to-point-messaging models, njengaxa iinkqubo ezininzi zifuna ikopi yomyalezo kwaye zombini ukuthembeka kunye nokuzingisa kuyadingeka ukukhusela ukulahleka komyalezo.

Kwezi meko, indawo ekuyiwa kuyo (igama eliqhelekileyo lemigca nezihloko) liyafuneka, elihambisa imiyalezo ngokwesiseko njengesihloko, ukuze umyalezo ngamnye uthunyelwe kwinkqubo eyahlukileyo enomdla kule miyalezo, kodwa nalapho inkqubo nganye inokuchaza abathengi abaninzi. efumana imiyalezo engenayo, efana kakhulu nomgca. Uhlobo lokufunda kule meko - kube kanye kumntu ngamnye ochaphazelekayo. Ezi ndawo zemixube zihlala zifuna ukuqina ukuze ukuba umthengi uyaqhawula, imiyalezo ethunyelwa ngelo xesha yamkelwe xa umthengi ephinda eqhagamshela.

Iimodeli zeHybrid azintsha kwaye zinokusetyenziswa kwiinkqubo ezininzi zemiyalezo, kubandakanywa zombini i-ActiveMQ (ngeendawo zokusithela ezinokwenyani okanye ezidityanisiweyo ezidibanisa izihloko kunye nomgca) kunye neKafka (ngokucacileyo, njengepropathi esisiseko yoyilo lwendawo ekuyiwa kuyo).

Ngoku sinesigama esisisiseko kunye nokuqonda ukuba yintoni inkqubo yokuthumela imiyalezo enokuba luncedo kuyo, makhe singene kwiinkcukacha.

Inguqulelo yenziwe: tele.gg/middle_java

Inxalenye elandelayo eguqulelweyo: Isahluko 3. Kafka

Iza kuqhubeka…

umthombo: www.habr.com

Yongeza izimvo