A’ tuigsinn brocairean teachdaireachd. Ag ionnsachadh meacanaig teachdaireachdan le ActiveMQ agus Kafka. Caibideil 1

Hello a h-uile duine!

Thòisich mi air leabhar beag eadar-theangachadh:
«A’ tuigsinn brocairean teachdaireachd«
ùghdar: Jakub Korab, foillsichear: O'Reilly Media, Inc., ceann-latha foillseachaidh: Ògmhios 2017, ISBN: 9781492049296.

Bho ro-ràdh don leabhar:
"... Ionnsaichidh an leabhar seo dhut mar a smaoinicheas tu air siostaman teachdaireachd broker, a ’dèanamh coimeas agus eadar-dhealachadh air dà theicneòlas broker mòr-chòrdte: Apache ActiveMQ agus Apache Kafka. Bheir e cunntas air na cùisean cleachdaidh agus brosnachaidhean leasachaidh a thug air an luchd-leasachaidh dòighean-obrach gu math eadar-dhealaichte a ghabhail san aon raon - teachdaireachd eadar siostaman le broker eadar-mheadhanach. Bheir sinn sùil air na teicneòlasan sin bhon talamh suas agus comharraichidh sinn buaidh diofar roghainnean dealbhaidh air an t-slighe. Gheibh thu tuigse dhomhainn air an dà bhathar, tuigse air mar a bu chòir agus nach bu chòir an cleachdadh, agus tuigse air dè a choimheadas tu nuair a bhios tu a’ beachdachadh air teicneòlasan teachdaireachd eile san àm ri teachd. ... "

Pàirtean air eadar-theangachadh gu ruige seo:
Caibideil 1. Ro-ràdh
Caibideil 3. Kafka

Postaidh mi caibideilean crìochnaichte mar a tha iad air an eadar-theangachadh.

CAIBIDEIL 1

Ro-ràdh

Is e teachdaireachdan siostam-gu-siostam aon de na raointean IT as lugha a thuigeas tu. Mar leasaiche no ailtire, is dòcha gu bheil thu gu math eòlach air diofar fhrèaman agus stòran-dàta. Ach, tha coltas ann nach eil agad ach eòlas a tha a’ dol seachad air mar a tha teicneòlasan teachdaireachd stèidhichte air brocairean ag obair. Ma tha thu a 'faireachdainn mar seo, na gabh dragh, tha thu ann an deagh chompanaidh.

Mar as trice chan eil mòran conaltraidh aig daoine ris a’ bhun-structar teachdaireachd. Bidh iad gu tric a’ ceangal ri siostam a chaidh a chruthachadh o chionn fhada, no luchdaich sìos cuairteachadh bhon eadar-lìn, stàlaich e ann am PROM agus tòisich a’ sgrìobhadh còd air a shon. Às deidh dhut am bun-structar a ruith ann am PROM, faodar na toraidhean a mheasgachadh: thèid teachdaireachdan a chall air sgàth fàilligidhean, chan eil an cur ag obair mar a bha dùil agad, no bidh brocairean “a’ crochadh ”do riochdairean no a’ cur teachdaireachdan chun luchd-ceannach agad.

Sounds eòlach?

Is e suidheachadh cumanta far a bheil an còd teachdaireachd agad ag obair gu math, aig an àm seo. Gus an stad e ag obair. Bidh an ùine seo a’ tarraing aire neach gu mothachadh meallta air tèarainteachd, a’ leantainn gu barrachd chòd stèidhichte air creideasan meallta mu ghiùlan bunaiteach an teicneòlais. Nuair a thòisicheas cùisean a’ dol ceàrr, tha fìrinn mhì-ghoireasach a’ tighinn nad aghaidh: nach do thuig thu dha-rìribh giùlan bunaiteach an toraidh no na malairtidhean a thagh na h-ùghdaran, leithid coileanadh an aghaidh earbsachd, no gnìomhachd an aghaidh scalability còmhnard. .

Às aonais tuigse dhomhainn air mar a tha brocairean ag obair, bidh daoine a’ dèanamh aithrisean a tha coltach gu reusanta mu na siostaman teachdaireachd aca, leithid:

  • Cha chaill an siostam teachdaireachdan gu bràth
  • Thèid teachdaireachdan a phròiseasadh ann an òrdugh
  • Le bhith a’ cur luchd-cleachdaidh ris nì sin an siostam nas luaithe
  • Cha tèid teachdaireachdan a lìbhrigeadh ach aon turas

Gu mì-fhortanach, tha cuid de na h-aithrisean sin stèidhichte air barailean nach eil a’ buntainn ach ann an suidheachaidhean sònraichte, agus cuid eile dìreach ceàrr.

Ionnsaichidh an leabhar seo dhut mar a smaoinicheas tu air siostaman teachdaireachd stèidhichte air broker, a ’dèanamh coimeas agus eadar-dhealachadh air dà theicneòlas broker mòr-chòrdte: Apache ActiveMQ agus Apache Kafka. Bheir e cunntas air na cùisean cleachdaidh agus brosnachaidhean leasachaidh a thug air an luchd-leasachaidh dòighean-obrach gu math eadar-dhealaichte a ghabhail san aon raon - teachdaireachd eadar siostaman le broker eadar-mheadhanach. Bheir sinn sùil air na teicneòlasan sin bhon talamh suas agus comharraichidh sinn buaidh diofar roghainnean dealbhaidh air an t-slighe. Gheibh thu tuigse dhomhainn air an dà bhathar, tuigse air mar a bu chòir agus nach bu chòir an cleachdadh, agus tuigse air dè a choimheadas tu nuair a bhios tu a’ beachdachadh air teicneòlasan teachdaireachd eile san àm ri teachd.

Mus tòisich sinn, rachamaid thairis air na bunaitean.

Dè a th’ ann an Siostam Teachdaireachdan agus carson a tha feum air?

Gus am bi dà iarrtas a’ conaltradh ri chèile, feumaidh iad eadar-aghaidh a mhìneachadh an toiseach. Tha a bhith a’ mìneachadh an eadar-aghaidh seo a’ ciallachadh a bhith a’ taghadh còmhdhail no protocol, leithid HTTP, MQTT, no SMTP, agus a’ barganachadh na cruthan teachdaireachd a thèid an iomlaid eadar na siostaman. Is dòcha gur e pròiseas teann a tha seo, leithid a bhith a’ mìneachadh sgeama XML le riatanasan cosgais pàighidh teachdaireachd, no dh’ fhaodadh gum bi e fada nas foirmeile, leithid aonta eadar dà leasaiche gum bi an aithnichear teachdaiche ann am pàirt den iarrtas HTTP.

Cho fad ‘s a tha cruth teachdaireachdan agus an òrdugh anns a bheil iad air an cur gu cunbhalach eadar siostaman, faodaidh iad conaltradh le chèile gun a bhith draghail mu bhuileachadh an t-siostam eile. Faodaidh taobh a-staigh nan siostaman sin, leithid an cànan prògramadh no frèam a thathar a’ cleachdadh, atharrachadh thar ùine. Cho fad 'sa tha an cùmhnant fhèin air a chumail suas, faodaidh an eadar-obrachadh leantainn air adhart gun atharrachaidhean bhon taobh eile. Tha an dà shiostam air an dealachadh gu h-èifeachdach (air an sgaradh) leis an eadar-aghaidh seo.

Mar as trice bidh siostaman teachdaireachd a’ toirt a-steach eadar-mheadhanair eadar dà shiostam a bhios ag eadar-obrachadh gus an neach a chuir an neach a chuir air falbh no an neach a gheibh an neach a chuir air falbh (fa leth). Anns a 'chùis seo, tha an siostam teachdaireachd a' leigeil leis an neach-cuiridh teachdaireachd a chuir gun fhios càite a bheil an neach a gheibh e, a bheil e gnìomhach, no cia mheud suidheachadh a th 'ann.

Nach toir sinn sùil air analogies no dhà airson na seòrsaichean dhuilgheadasan a dh’ fhuasglas siostam teachdaireachd agus bheir sinn a-steach cuid de bhriathran bunaiteach.

Puing-gu-Rubha

Bidh Alexandra a’ dol gu oifis a’ phuist gus pasgan a chuir gu Adhamh. Bidh i a’ dol chun uinneig agus a’ toirt a’ phacaid don neach-obrach. Bidh an neach-obrach a’ togail a’ phacaid agus a’ toirt cuidhteas dha Alexandra. Chan fheum Adhamh a bhith dhachaigh nuair a thèid am pasgan a chuir. Tha Alexandra misneachail gun tèid am pasgan a lìbhrigeadh gu Adhamh aig àm air choreigin san àm ri teachd agus gun urrainn dhi cumail a’ dol mun ghnìomhachas aice. Nas fhaide air adhart aig àm air choireigin gheibh Adhamh pasgan.

Seo eisimpleir de mhodail teachdaireachd puing-gu-puing. Tha oifis a’ phuist an seo ag obair mar dhòigh cuairteachaidh pharsailean, a’ dèanamh cinnteach gun tèid gach parsail a lìbhrigeadh aon uair. Tha cleachdadh oifis a’ phuist a’ sgaradh an gnìomh a bhith a’ cur pasgan bho lìbhrigeadh a’ phacaid.
Ann an siostaman teachdaireachd clasaigeach, tha am modail puing-gu-puing air a bhuileachadh troimhe ciudha. Tha an ciudha ag obair mar bufair FIFO (an toiseach a-steach, an toiseach a-mach) a dh’ fhaodas aon neach-cleachdaidh no barrachd ballrachd a thoirt dha. Tha gach teachdaireachd air a lìbhrigeadh a-mhàin gu aon de na luchd-cleachdaidh fo-sgrìobhadh. Mar as trice bidh ciudha a’ feuchainn ri teachdaireachdan a sgaoileadh gu cothromach am measg luchd-cleachdaidh. Chan fhaigh ach aon neach-cleachdaidh am brath seo.

Tha am facal “durable” air a chleachdadh airson ciudha. Fiachan na sheilbh seirbheis a nì cinnteach gun lean an siostam teachdaireachd teachdaireachdan às aonais luchd-aontachaidh gnìomhach gus an cuir neach-cleachdaidh ballrachd ris a’ chiudha airson lìbhrigeadh teachdaireachd.

Tha earbsa gu tric air a mheasgachadh le buanseasmhachd agus ged a tha an dà theirm air an cleachdadh gu h-eadar-mhalairteach, tha iad a 'frithealadh diofar dhleastanasan. Bidh seasmhachd a’ dearbhadh a bheil an siostam teachdaireachdan a’ sgrìobhadh teachdaireachd gu stòradh de sheòrsa air choreigin eadar a bhith ga fhaighinn agus ga chuir chun neach-cleachdaidh. Faodaidh no nach bi teachdaireachdan a thèid a chuir chun ciudha seasmhach.
Bithear a’ cleachdadh teachdaireachdan puing-gu-puing nuair a dh’ fheumas a’ chùis cleachdaidh gnìomh aon-ùine air an teachdaireachd. Tha eisimpleirean a’ toirt a-steach airgead a thasgadh ann an cunntas no crìoch a chur air òrdugh lìbhrigidh. Bruidhnidh sinn nas fhaide air adhart carson nach urrainn don t-siostam teachdaireachd leis fhèin lìbhrigeadh aon-ùine a thoirt seachad agus carson as urrainn dha ciudhaichean gealltanas lìbhrigidh a thoirt seachad aig a’ char as fheàrr co-dhiù aon turas.

Foillsichear - Subscriber

Bidh Gabriella a’ dial àireamh na co-labhairt. Fhad ‘s a tha i ceangailte ris a’ cho-labhairt, bidh i a ’cluinntinn a h-uile dad a tha an neach-labhairt ag ràdh, còmhla ris a’ chòrr de chom-pàirtichean na gairm. Nuair a bhios i ag èisteachd, tha i ag ionndrainn na thathar ag ràdh. Nuair a thèid a h-ath-cheangal, tha i fhathast a’ cluinntinn na thathar ag ràdh.

Seo eisimpleir de mhodail teachdaireachd foillseachadh-fo-sgrìobhadh. Bidh gairm co-labhairt ag obair mar inneal craolaidh. Chan eil dragh air an neach a tha a’ bruidhinn cia mheud duine a tha air a’ ghairm an-dràsta - tha an siostam a’ dèanamh cinnteach gun cluinn duine sam bith aig a bheil ceangal an-dràsta na thathar ag ràdh.
Ann an siostaman teachdaireachd clasaigeach, tha am modal teachdaireachd foillseachaidh-fo-sgrìobhaidh air a chuir an gnìomh troimhe mullaich. Tha cuspair a’ toirt seachad an aon dòigh craolaidh ris an uidheamachd co-labhairtean. Nuair a thèid teachdaireachd a chuir gu cuspair, thèid a sgaoileadh airson a h-uile neach-cleachdaidh fo-sgrìobhadh.

Tha cuspairean mar as trice neo-earbsach (neo-sheasmhach). Dìreach mar neach-èisteachd nach cluinn na thèid a ràdh air gairm co-labhairt nuair a bhios an neach-èisteachd a’ dì-cheangal, bidh luchd-aontachaidh cuspair ag ionndrainn teachdaireachdan sam bith a thèid a chuir fhad ‘s a tha iad far-loidhne. Air an adhbhar seo, faodaidh sinn a ràdh gu bheil cuspairean a 'toirt seachad gealltanas lìbhrigidh ni 's mo na aon uair airson gach neach-cleachdaidh.

Mar as trice bithear a’ cleachdadh teachdaireachdan fo-sgrìobhaidh foillseachaidh nuair a tha na teachdaireachdan fiosrachail agus nach eil call aon teachdaireachd gu sònraichte cudromach. Mar eisimpleir, faodaidh cuspair leughaidhean teodhachd a tharraing bho bhuidheann de luchd-mothachaidh aon uair san diog. Cha bhith siostam aig a bheil ùidh anns an teòthachd a th’ ann an-dràsta agus a tha fo-sgrìobhadh do chuspair draghail ma chailleas e teachdaireachd - thig fear eile a dh’ aithghearr.

modalan tar-chinealach

Bidh làrach-lìn na bùtha a' cur teachdaireachdan òrduigh ann an "ciudha teachdaireachd." Is e am prìomh neach-cleachdaidh de na teachdaireachdan sin an siostam gnìomh. A bharrachd air an sin, bu chòir lethbhric de na teachdaireachdan òrduigh sin a bhith aig an t-siostam sgrùdaidh airson an leantainn às deidh sin. Chan urrainn don dà shiostam leigeil le teachdaireachdan a dhol troimhe, eadhon ged nach eil na siostaman fhèin rim faighinn airson ùine. Cha bu chòir don làrach-lìn a bhith mothachail air siostaman eile.

Bidh cùisean cleachdaidh gu tric a’ feumachdainn measgachadh de mhodalan teachdaireachd foillseachaidh-fo-sgrìobhaidh agus puing-gu-puing, leithid nuair a dh’ fheumas ioma-shiostaman leth-bhreac de theachdaireachd agus feumar an dà chuid earbsachd agus seasmhachd gus casg a chuir air call teachdaireachd.

Feumaidh na cùisean sin ceann-uidhe (teirm coitcheann airson ciudha agus cuspairean) a bhios a’ cuairteachadh teachdaireachdan gu bunaiteach mar chuspair, gus am bi gach teachdaireachd air a chuir gu siostam air leth aig a bheil ùidh anns na teachdaireachdan sin, ach cuideachd anns an urrainn do gach siostam grunn luchd-cleachdaidh a gheibh a-steach a mhìneachadh. brathan, a tha nas coltaiche ri ciudha. Tha an seòrsa leughaidh sa chùis seo aon uair airson gach neach-ùidh. Gu tric bidh feum aig na cinn-uidhe tar-chinealach sin air seasmhachd gus am faigh neach-cleachdaidh teachdaireachdan a thèid a chuir air falbh aig an àm sin às deidh don neach-cleachdaidh ath-cheangal ma thèid neach-cleachdaidh far-loidhne.

Chan eil modalan tar-chinealach ùr agus faodar an cleachdadh anns a ’mhòr-chuid de shiostaman teachdaireachd, a’ toirt a-steach an dà chuid ActiveMQ (tro chinn-uidhe brìgheil no measgaichte a bhios a ’cothlamadh cuspairean agus ciudhaichean) agus Kafka (gu h-obann, mar sheilbh bunaiteach den dealbhadh ceann-uidhe aige).

A-nis gu bheil briathrachas bunaiteach againn agus tuigse air na dh'fhaodadh sinn siostam teachdaireachd a chleachdadh, leig dhuinn a dhol sìos chun mhion-fhiosrachadh.

Eadar-theangachadh dèanta: tele.gg/middle_java

An earrann eadar-theangaichte a leanas: Caibideil 3. Kafka

Ri leantainn ...

Source: www.habr.com

Cuir beachd ann