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

A’ leantainn le eadar-theangachadh leabhar beag:
A’ tuigsinn Brocairean Teachdaireachdan
ùghdar: Jakub Korab, foillsichear: O'Reilly Media, Inc., ceann-latha foillseachaidh: Ògmhios 2017, ISBN: 9781492049296.

Pàirt eadar-theangaichte roimhe: A’ tuigsinn brocairean teachdaireachd. Ag ionnsachadh meacanaig teachdaireachdan le ActiveMQ agus Kafka. Caibideil 1 Ro-ràdh

CAIBIDEIL 3

Kafka

Chaidh Kafka a leasachadh le LinkedIn gus faighinn timcheall air cuid de chuingealachaidhean brocairean teachdaireachd traidiseanta agus gus nach fheum iad grunn brocairean teachdaireachd a stèidheachadh airson diofar eadar-obrachaidhean puing gu puing, a tha air a mhìneachadh san leabhar seo fo "Scaling up and out" air duilleag 28 Cùisean cleachdaidh Tha LinkedIn air a bhith gu mòr an urra ri bhith a’ toirt a-steach mòran dàta aon-shligheach, leithid cliogan dhuilleagan agus logaichean ruigsinneachd, agus aig an aon àm a’ leigeil leis an dàta sin a bhith air a chleachdadh le ioma-shiostaman gun a bhith a’ toirt buaidh air cinneasachd riochdairean no luchd-cleachdaidh eile. Gu dearbh, is e an adhbhar a tha Kafka ann a bhith a ’faighinn an seòrsa ailtireachd teachdaireachd a tha an Pìob-loidhne Dàta Uile-choitcheann a’ mìneachadh.

Leis an amas dheireannach seo, dh’ èirich riatanasan eile gu nàdarrach. Bu chòir do Kafka:

  • Bi air leth luath
  • Thoir seachad barrachd leud-bann nuair a bhios tu ag obair le teachdaireachdan
  • Thoir taic do mhodalan Foillsichear-Subscriber agus Point-to-Point
  • Na bi slaodach le bhith a’ cur luchd-ceannach ris. Mar eisimpleir, bidh coileanadh an dà chuid a’ chiudha agus a’ chuspair ann an ActiveMQ a’ dol sìos mar a bhios an àireamh de luchd-cleachdaidh air a’ cheann-uidhe a’ fàs.
  • Bi scalable gu còmhnard; mura h-urrainn do aon broker a chumas teachdaireachdan sin a dhèanamh ach aig astar diosc as àirde, tha e ciallach a dhol nas fhaide na aon eisimpleir broker gus coileanadh àrdachadh
  • A 'cuingealachadh ruigsinneachd air teachdaireachdan a stòradh agus a thoirt air ais

Gus seo a choileanadh, ghabh Kafka ri ailtireachd a dh’ ath-mhìnich dreuchdan agus dleastanasan teachdaichean agus brocairean teachdaireachdan. Tha am modal JMS gu math stèidhichte air broker, far a bheil uallach air a’ bhròcair airson teachdaireachdan a sgaoileadh agus cha leig le teachdaichean ach dragh a ghabhail mu bhith a’ cur agus a’ faighinn teachdaireachdan. Tha Kafka, air an làimh eile, stèidhichte air an neach-dèiligidh, leis an neach-dèiligidh a’ gabhail ri mòran de fheartan broker traidiseanta, leithid cuairteachadh cothromach de theachdaireachdan buntainneach do luchd-cleachdaidh, mar mhalairt air broker a tha gu math luath agus so-ruigsinneach. Dha daoine a tha air a bhith ag obair le siostaman teachdaireachd traidiseanta, feumaidh a bhith ag obair le Kafka atharrachadh inntinn bunaiteach.
Tha an stiùireadh innleadaireachd seo air leantainn gu cruthachadh bun-structar teachdaireachd a tha comasach air àrdachadh a thoirt air adhart le iomadh òrdugh meudachd an taca ri broker àbhaisteach. Mar a chì sinn, tha an dòigh-obrach seo a 'tighinn le malairt-off, a tha a' ciallachadh nach eil Kafka freagarrach airson cuid de sheòrsaichean obrach agus bathar-bog stàlaichte.

Modail Ceann-uidhe Aonaichte

Gus na riatanasan a tha air am mìneachadh gu h-àrd a choileanadh, tha Kafka air teachdaireachdan foillseachaidh-fo-sgrìobhaidh agus puing-gu-puing a thoirt còmhla fo aon sheòrsa ceann-uidhe - cuspair. Tha seo troimh-a-chèile dha daoine a tha air a bhith ag obair le siostaman teachdaireachd, far a bheil am facal “cuspair” a’ toirt iomradh air uidheamachd craolaidh às a bheil leughadh (bhon chuspair) neo-sheasmhach. Bu chòir beachdachadh air cuspairean Kafka mar sheòrsa ceann-uidhe tar-chinealach, mar a tha mìnichte ann an ro-ràdh an leabhair seo.

Airson a’ chòrr den chaibideil seo, mura h-eil sinn ag ràdh a chaochladh, bheir am facal “cuspair” iomradh air cuspair Kafka.

Gus làn thuigse fhaighinn air mar a bhios cuspairean gan giùlan fhèin agus dè na geallaidhean a bheir iad seachad, feumaidh sinn an toiseach coimhead air mar a tha iad air an cur an gnìomh ann an Kafka.
Tha a loga fhèin aig gach cuspair ann an Kafka.
Bidh riochdairean a bhios a’ cur teachdaireachdan gu Kafka a’ sgrìobhadh chun log seo, agus bidh luchd-cleachdaidh a’ leughadh bhon log a’ cleachdadh puingean a bhios an-còmhnaidh a’ gluasad air adhart. Bho àm gu àm, bidh Kafka a 'toirt air falbh na pàirtean as sine den log, co dhiubh a chaidh na teachdaireachdan anns na pàirtean sin a leughadh no nach deach. Is e prìomh phàirt de dhealbhadh Kafka nach eil dragh aig a ’bhròcair a bheil teachdaireachdan air an leughadh no nach eil - is e sin uallach an neach-dèiligidh.

Chan eil na briathran “log” agus “pointer” a’ nochdadh a-staigh Leabhar Kafka. Tha na briathran ainmeil seo air an cleachdadh an seo gus tuigse a chuideachadh.

Tha am modail seo gu tur eadar-dhealaichte bho ActiveMQ, far a bheil teachdaireachdan bho gach ciudha air an stòradh san aon log, agus tha am broker a’ comharrachadh na teachdaireachdan mar a chaidh an toirt às às deidh dhaibh a bhith air an leughadh.
Leig leinn a-nis cladhach beagan nas doimhne agus coimhead air an loga cuspair ann am barrachd mionaideachd.
Tha grunn phàirtean ann an log Kafka (Figear 3-1). Tha Kafka a’ gealltainn òrdachadh teann anns gach sgaradh. Tha seo a 'ciallachadh gun tèid teachdaireachdan a chaidh a sgrìobhadh chun an sgaradh ann an òrdugh sònraichte a leughadh san aon òrdugh. Tha gach sgaradh air a chuir an gnìomh mar fhaidhle log leantainneach anns a bheil fo-sheata (fo-sheata) de gach teachdaireachd a chuir an riochdairean chun chuspair. Anns a’ chuspair cruthaichte tha, gu bunaiteach, aon sgaradh. Is e am beachd air sgaraidhean am prìomh bheachd aig Kafka airson sgèileadh còmhnard.

A’ tuigsinn brocairean teachdaireachd. Ag ionnsachadh meacanaig teachdaireachdan le ActiveMQ agus Kafka. Caibideil 3. Kafka
Figear 3-1. Pàirtean Kafka

Nuair a chuireas riochdaire teachdaireachd gu cuspair Kafka, bidh e a’ co-dhùnadh dè an sgaradh airson an teachdaireachd a chuir. Bheir sinn sùil nas mionaidiche air seo nas fhaide air adhart.

A 'leughadh teachdaireachdan

Bidh an neach-dèiligidh a tha airson na teachdaireachdan a leughadh a’ riaghladh puing ainmichte ris an canar buidheann luchd-cleachdaidh, a tha a’ comharrachadh dheth teachdaireachdan anns an roinn. Is e suidheachadh mean air mhean a th’ ann an cothromachadh a thòisicheas aig 0 aig toiseach sgaradh. Tha am buidheann luchd-cleachdaidh seo, air a bheil iomradh san API tron ​​bhuidheann_id a chaidh a mhìneachadh leis a’ chleachdaiche, a’ freagairt air aon neach-cleachdaidh no siostam loidsigeach.

Bidh a’ mhòr-chuid de shiostaman teachdaireachd a’ leughadh dàta bhon cheann-uidhe a’ cleachdadh iomadh suidheachadh agus snàithlean gus teachdaireachdan a phròiseasadh aig an aon àm. Mar sin, mar as trice bidh mòran shuidheachaidhean luchd-cleachdaidh a’ roinn an aon bhuidheann luchd-cleachdaidh.

Faodar an duilgheadas leughaidh a riochdachadh mar a leanas:

  • Tha grunn earrannan aig a’ chuspair
  • Faodaidh grunn bhuidhnean de luchd-cleachdaidh cuspair a chleachdadh aig an aon àm
  • Faodaidh grunn shuidheachaidhean eadar-dhealaichte a bhith aig buidheann de luchd-cleachdaidh

Is e duilgheadas ioma-gu-iomadh nach eil cho beag a tha seo. Gus tuigse fhaighinn air mar a làimhsicheas Kafka dàimhean eadar buidhnean luchd-cleachdaidh, suidheachaidhean luchd-cleachdaidh, agus sgaraidhean, leig dhuinn sùil a thoirt air sreath de shuidheachaidhean leughaidh a tha a’ sìor fhàs nas iom-fhillte.

Luchd-cleachdaidh agus buidhnean luchd-cleachdaidh

Gabhamaid mar thoiseach tòiseachaidh cuspair le aon sgaradh (Figear 3-2).

A’ tuigsinn brocairean teachdaireachd. Ag ionnsachadh meacanaig teachdaireachdan le ActiveMQ agus Kafka. Caibideil 3. Kafka
Figear 3-2. Bidh luchd-cleachdaidh a 'leughadh bhon sgaradh

Nuair a bhios eisimpleir neach-cleachdaidh a’ ceangal leis a’ bhuidheann_id aige fhèin ris a’ chuspair seo, thèid sgaradh leughaidh a thoirt dha agus cuir dheth sa phàirt sin. Tha suidheachadh a’ chothromachadh seo comasach a rèiteachadh anns an neach-dèiligidh mar chomharradh air an t-suidheachadh as ùire (an teachdaireachd as ùire) no an suidheachadh as tràithe (an teachdaireachd as sine). Bidh an neach-cleachdaidh ag iarraidh (bhòtaidh) teachdaireachdan bhon chuspair, a tha ag adhbhrachadh gun tèid an leughadh ann an òrdugh bhon log.
Tha an suidheachadh co-dhùnaidh air a ghealltainn gu cunbhalach air ais gu Kafka agus air a stòradh mar theachdaireachdan ann an cuspair a-staigh _customer_offsets. Chan eil teachdaireachdan leughaidh fhathast air an toirt às, eu-coltach ri broker àbhaisteach, agus faodaidh an neach-dèiligidh an cothromachadh ath-thionndadh gus teachdaireachdan a chaidh fhaicinn mar-thà ath-phròiseas.

Nuair a cheanglas dàrna neach-cleachdaidh loidsigeach a’ cleachdadh group_id eile, bidh e a’ riaghladh dàrna puing a tha neo-eisimeileach bhon chiad (Figear 3-3). Mar sin, tha cuspair Kafka ag obair mar ciudha far a bheil aon neach-cleachdaidh agus mar chuspair àbhaisteach foillseachaidh (fo-sgrìobhadh) a bhios grunn luchd-ceannach a ’gabhail ris, leis a’ bhuannachd a bharrachd gu bheil a h-uile teachdaireachd air a stòradh agus gun gabh a phròiseasadh grunn thursan.

A’ tuigsinn brocairean teachdaireachd. Ag ionnsachadh meacanaig teachdaireachdan le ActiveMQ agus Kafka. Caibideil 3. Kafka
Figear 3-3. Leugh dà neach-cleachdaidh ann am buidhnean luchd-cleachdaidh eadar-dhealaichte bhon aon sgaradh

Luchd-cleachdaidh ann am buidheann luchd-cleachdaidh

Nuair a leughas aon eisimpleir neach-cleachdaidh dàta bho sgaradh, tha làn smachd aige air a’ phuing agus pròiseas teachdaireachdan mar a chaidh a mhìneachadh san earrann roimhe seo.
Ma bha grunn eisimpleirean de luchd-cleachdaidh ceangailte ris an aon bhuidheann_id ri cuspair le aon sgaradh, an uairsin gheibh an t-eisimpleir a bha ceangailte mu dheireadh smachd air a’ phuing agus bhon mhionaid sin air adhart gheibh e a h-uile teachdaireachd (Figear 3-4).

A’ tuigsinn brocairean teachdaireachd. Ag ionnsachadh meacanaig teachdaireachdan le ActiveMQ agus Kafka. Caibideil 3. Kafka
Figear 3-4. Leugh dithis luchd-cleachdaidh san aon bhuidheann luchd-cleachdaidh bhon aon sgaradh

Faodar smaoineachadh air a’ mhodh giullachd seo, anns a bheil an àireamh de shuidheachaidhean luchd-cleachdaidh nas àirde na an àireamh de sgaradh, mar sheòrsa de neach-cleachdaidh toirmeasgach. Faodaidh seo a bhith feumail ma tha feum agad air cruinneachadh “gnìomhach-fhulangach” (no “blàth-blàth”) de na h-eisimpleirean luchd-cleachdaidh agad, ged a tha e tòrr nas àbhaistiche a bhith a’ ruith grunn luchd-cleachdaidh ann an co-shìnte ("gnìomhach-gnìomhach" no "teth-teth"). luchd-cleachdaidh.

Faodaidh an giùlan sgaoilidh teachdaireachd seo a tha air a mhìneachadh gu h-àrd a bhith na iongnadh an taca ri mar a bhios ciudha JMS àbhaisteach gad ghiùlan fhèin. Anns a’ mhodail seo, thèid teachdaireachdan a thèid a chuir chun ciudha a sgaoileadh gu cothromach eadar an dà neach-cleachdaidh.

Mar as trice, nuair a chruthaicheas sinn iomadh suidheachadh de luchd-cleachdaidh, bidh sinn a’ dèanamh seo an dàrna cuid gus teachdaireachdan a phròiseasadh aig an aon àm, no gus astar leughaidh àrdachadh, no gus seasmhachd a’ phròiseas leughaidh àrdachadh. Leis nach urrainn ach aon eisimpleir neach-cleachdaidh dàta a leughadh bho sgaradh aig aon àm, ciamar a tha seo air a choileanadh ann an Kafka?

Is e aon dòigh air seo a dhèanamh aon eisimpleir neach-cleachdaidh a chleachdadh gus na teachdaireachdan gu lèir a leughadh agus an toirt don amar snàithlean. Fhad ‘s a tha an dòigh-obrach seo a’ meudachadh gluasad giullachd, tha e a’ meudachadh iom-fhillteachd loidsig luchd-cleachdaidh agus chan eil e a’ dèanamh dad gus neart an t-siostam leughaidh a mheudachadh. Ma thèid aon leth-bhreac den neach-cleachdaidh sìos air sgàth fàilligeadh cumhachd no tachartas coltach ris, stadaidh an toirt air falbh.

Is e an dòigh canonical airson an duilgheadas seo fhuasgladh ann an Kafka bОbarrachd sgaradh.

A' sgaradh

Is e sgaraidhean am prìomh dhòigh airson leughadh agus sgèileadh cuspair taobh a-muigh leud-bann aon eisimpleir broker. Gus seo a thuigsinn nas fheàrr, beachdaichidh sinn air suidheachadh far a bheil cuspair le dà sgaradh agus aon neach-cleachdaidh a’ gabhail ris a’ chuspair seo (Figear 3-5).

A’ tuigsinn brocairean teachdaireachd. Ag ionnsachadh meacanaig teachdaireachdan le ActiveMQ agus Kafka. Caibideil 3. Kafka
Figear 3-5. Bidh aon neach-cleachdaidh a’ leughadh bho ioma-phàirteachaidhean

Anns an t-suidheachadh seo, gheibh an neach-cleachdaidh smachd air na comharran a tha co-chosmhail ris a’ bhuidheann_id aige anns an dà phàirt agus tòisichidh e a’ leughadh teachdaireachdan bhon dà phàirt.
Nuair a thèid neach-cleachdaidh a bharrachd airson an aon bhuidheann_id a chur ris a’ chuspair seo, bidh Kafka ag ath-riarachadh aon de na sgaraidhean bhon chiad neach-cleachdaidh chun an dàrna neach-cleachdaidh. Às deidh sin, leughaidh gach eisimpleir den neach-cleachdaidh bho aon phàirt den chuspair (Figear 3-6).

Gus dèanamh cinnteach gu bheil teachdaireachdan air an giullachd ann an co-shìnte ann an 20 snàithlean, feumaidh tu co-dhiù 20 sgaradh. Ma tha nas lugha de sgaradh ann, bidh thu air fhàgail le luchd-cleachdaidh aig nach eil dad ri obrachadh, mar a chaidh a mhìneachadh na bu tràithe anns an deasbad mu luchd-cleachdaidh toirmeasgach.

A’ tuigsinn brocairean teachdaireachd. Ag ionnsachadh meacanaig teachdaireachdan le ActiveMQ agus Kafka. Caibideil 3. Kafka
Figear 3-6. Leugh dithis luchd-cleachdaidh san aon bhuidheann luchd-cleachdaidh bho dhiofar phàirtean

Tha an sgeama seo gu mòr a’ lughdachadh iom-fhillteachd broker Kafka an taca ris an sgaoileadh teachdaireachd a dh’ fheumar gus ciudha JMS a chumail suas. An seo chan fheum thu a bhith draghail mu na puingean a leanas:

  • Dè an neach-cleachdaidh a bu chòir an ath theachdaireachd fhaighinn, stèidhichte air riarachadh robin cruinn, comas gnàthach bufairean prefetch, no teachdaireachdan roimhe (mar a tha airson buidhnean teachdaireachd JMS).
  • Dè na teachdaireachdan a thèid a chuir chun luchd-cleachdaidh agus am bu chòir an lìbhrigeadh a-rithist gun fhios nach fàilligeadh.

Chan eil aig broker Kafka ri dhèanamh ach teachdaireachdan a chuir a-steach don neach-cleachdaidh nuair a dh’ iarras an neach-cleachdaidh iad.

Ach, chan eil na riatanasan airson a bhith co-shìnte ris an leughadh dearbhaidh agus a 'toirt air ais teachdaireachdan a dh' fhàillig a 'falbh - tha an t-uallach air an son dìreach a' dol bhon bhròcair chun an neach-dèiligidh. Tha seo a’ ciallachadh gum feum iad aire a thoirt don chòd agad.

A ’cur teachdaireachdan

Tha e an urra ri riochdaire na teachdaireachd sin co-dhùnadh dè am pàirt airson teachdaireachd a chuir. Gus tuigse fhaighinn air an dòigh anns a bheil seo air a dhèanamh, feumaidh sinn an-toiseach beachdachadh air dè dìreach a tha sinn a’ cur.

Ach ann an JMS bidh sinn a’ cleachdadh structar teachdaireachd le meata-dàta (cinn-cinn agus feartan) agus bodhaig anns a bheil an t-uallach pàighidh (luchd-pàighidh), ann an Kafka tha an teachdaireachd paidhir "key-value". Thèid an t-uallach pàighidh teachdaireachd a chuir mar luach. Tha an iuchair, air an làimh eile, air a chleachdadh sa mhòr-chuid airson sgaradh agus feumaidh e a bhith ann iuchair sònraichte loidsig gnìomhachaisgus teachdaireachdan co-cheangailte a chuir san aon roinn.

Ann an Caibideil 2, bheachdaich sinn air an t-suidheachadh geall air-loidhne far am feum tachartasan co-cheangailte a bhith air an giullachd ann an òrdugh le aon neach-cleachdaidh:

  1. Tha an cunntas cleachdaiche air a rèiteachadh.
  2. Tha airgead air a chreidsinn don chunntas.
  3. Tha geall air a dhèanamh a tharraingeas airgead bhon chunntas.

Ma tha gach tachartas na theachdaireachd air a phostadh gu cuspair, is e ID a’ chunntais an iuchair nàdarrach.
Nuair a thèid teachdaireachd a chuir a’ cleachdadh API Kafka Producer, thèid a chuir air adhart gu gnìomh dealachaidh a bhios, leis an teachdaireachd agus suidheachadh gnàthach cruinneachadh Kafka, a’ tilleadh ID a’ phàirteachaidh dhan bu chòir an teachdaireachd a chuir. Tha am feart seo air a chuir an gnìomh ann an Java tron ​​​​eadar-aghaidh Partitioner.

Tha an eadar-aghaidh seo a’ coimhead mar seo:

interface Partitioner {
    int partition(String topic,
        Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster);
}

Bidh buileachadh Partitioner a’ cleachdadh an algairim hashing adhbhar coitcheann àbhaisteach thairis air an iuchair gus an sgaradh a dhearbhadh, no robin cruinn mura h-eil iuchair air a shònrachadh. Bidh an luach bunaiteach seo ag obair gu math sa mhòr-chuid de chùisean. Ach, san àm ri teachd bidh thu airson do chuid fhèin a sgrìobhadh.

Sgrìobh do ro-innleachd sgaradh fhèin

Bheir sinn sùil air eisimpleir far a bheil thu airson meata-dàta a chuir còmhla ris an uallach pàighidh teachdaireachd. Tha an uallach pàighidh san eisimpleir againn mar stiùireadh airson tasgadh a dhèanamh don chunntas geama. Tha stiùireadh na rud a bu mhath leinn a bhith cinnteach nach tèid atharrachadh air tar-chur agus tha sinn airson a bhith cinnteach nach urrainn ach siostam earbsach shuas an abhainn an stiùireadh sin a thòiseachadh. Anns a 'chùis seo, tha na siostaman cur agus faighinn ag aontachadh mu bhith a' cleachdadh ainm-sgrìobhte gus an teachdaireachd a dhearbhadh.
Ann an JMS àbhaisteach, bidh sinn dìreach a’ mìneachadh seilbh “ainm-sgrìobhte teachdaireachd” agus ga chur ris an teachdaireachd. Ach, chan eil Kafka a’ toirt dhuinn uidheamachd airson meata-dàta a thoirt seachad, dìreach iuchair agus luach.

Leis gur e uallach pàighidh gluasad banca a th’ anns an luach a tha sinn airson a ghleidheadh, chan eil roghainn againn ach an structar dàta a mhìneachadh airson a chleachdadh san iuchair. A’ gabhail ris gu bheil feum againn air ID cunntais airson sgaradh, leis gu feumar a h-uile teachdaireachd co-cheangailte ri cunntas a phròiseasadh ann an òrdugh, thig sinn suas leis an structar JSON a leanas:

{
  "signature": "541661622185851c248b41bf0cea7ad0",
  "accountId": "10007865234"
}

Leis gum bi luach an ainm-sgrìobhte ag atharrachadh a rèir an luchd pàighidh, cha bhith ro-innleachd hashing bunaiteach an eadar-aghaidh Partitioner gu h-earbsach a’ cur teachdaireachdan co-cheangailte ri chèile. Mar sin, feumaidh sinn ar ro-innleachd fhìn a sgrìobhadh a nì sgrùdadh air an iuchair seo agus a roinneas luach cunntasId.

Tha Kafka a’ toirt a-steach checksums gus coirbeachd teachdaireachdan a lorg anns a’ bhùth agus tha làn sheata de fheartan tèarainteachd aige. A dh'aindeoin sin, uaireannan bidh riatanasan sònraichte gnìomhachais, mar an tè gu h-àrd, a 'nochdadh.

Feumaidh ro-innleachd sgaradh an neach-cleachdaidh dèanamh cinnteach gu bheil a h-uile teachdaireachd co-cheangailte ris a 'crìochnachadh san aon sgaradh. Ged a tha coltas gu bheil seo sìmplidh, faodaidh an riatanas a bhith iom-fhillte leis cho cudromach sa tha e teachdaireachdan co-cheangailte òrdachadh agus cho stèidhichte sa tha an àireamh de sgaradh ann an cuspair.

Faodaidh an àireamh de phàirtean ann an cuspair atharrachadh thar ùine, oir faodar an cur ris ma thèid trafaic nas fhaide na bha dùil an toiseach. Mar sin, faodaidh iuchraichean teachdaireachd a bhith co-cheangailte ris a’ phàirt a chaidh an cur thuige bho thùs, a’ ciallachadh pìos stàite a bhith air a roinn eadar suidheachaidhean riochdairean.

Is e feart eile ri bheachdachadh an sgaoileadh cothromach de theachdaireachdan thairis air sgaraidhean. Mar as trice, chan eil iuchraichean air an sgaoileadh gu cothromach thar theachdaireachdan, agus chan eil gnìomhan hash a’ gealltainn sgaoileadh cothromach de theachdaireachdan airson seata beag de dh’ iuchraichean.
Tha e cudromach cuimhneachadh, ge-tà, ge-tà, ma roghnaicheas tu teachdaireachdan a roinn, is dòcha gum feum an dealaiche fhèin a bhith air ath-chleachdadh.

Beachdaich air an fheum air dàta ath-aithris eadar cruinneachaidhean Kafka ann an diofar àiteachan cruinn-eòlasach. Airson an adhbhair seo, thig Kafka le inneal loidhne-àithne ris an canar MirrorMaker, a tha air a chleachdadh gus teachdaireachdan bho aon bhuidheann a leughadh agus an gluasad gu fear eile.

Feumaidh MirrorMaker iuchraichean a’ chuspair ath-chruthaichte a thuigsinn gus òrdugh dàimheach a chumail eadar teachdaireachdan nuair a bhios iad ag ath-riochdachadh eadar cruinneachaidhean, leis gur dòcha nach bi an àireamh de earrannan airson a’ chuspair sin an aon rud ann an dà chlàr.

Tha ro-innleachdan sgaradh gnàthaichte gu math tearc, leis gu bheil hashing àbhaisteach no robin cruinn ag obair gu math anns a’ mhòr-chuid de shuidheachaidhean. Ach, ma tha feum agad air barrantasan òrdachaidh làidir no ma dh’ fheumas tu meata-dàta a thoirt a-mach à luchdan pàighidh, an uairsin tha sgaradh na rud air am bu chòir dhut sùil nas mionaidiche a thoirt.

Tha buannachdan scalability agus coileanaidh Kafka a’ tighinn bho bhith ag atharrachadh cuid de dhleastanasan a’ bhròcair thraidiseanta chun neach-dèiligidh. Anns a 'chùis seo, thathar a' co-dhùnadh teachdaireachdan a dh'fhaodadh a bhith co-cheangailte a sgaoileadh am measg grunn luchd-cleachdaidh ag obair aig an aon àm.

Feumaidh brocairean JMS cuideachd dèiligeadh ri riatanasan mar sin. Gu inntinneach, tha an dòigh airson teachdaireachdan co-cheangailte a chuir chun aon neach-cleachdaidh, air a chuir an gnìomh tro JMS Message Groups (eadar-dhealachadh air an ro-innleachd cothromachadh luchdan steigeach (SLB), cuideachd ag iarraidh air an neach a chuir na teachdaireachdan mar a tha iad co-cheangailte. A thaobh JMS, tha e an urra ris a’ bhròcair am buidheann seo de theachdaireachdan co-cheangailte a chuir gu aon neach-cleachdaidh a-mach à mòran, agus seilbh na buidhne a ghluasad ma thuiteas an neach-cleachdaidh dheth.

Cùmhnantan riochdaire

Chan e sgaradh an aon rud ri beachdachadh nuair a thathar a’ cur teachdaireachdan. Bheir sinn sùil air na dòighean cuir () den chlas Riochdaire anns an Java API:

Future < RecordMetadata > send(ProducerRecord < K, V > record);
Future < RecordMetadata > send(ProducerRecord < K, V > record, Callback callback);

Bu chòir a thoirt fa-near sa bhad gu bheil an dà dhòigh a ’tilleadh san àm ri teachd, a tha a’ nochdadh nach eil an gnìomhachd cuir air a dhèanamh sa bhad. Is e an toradh a th’ ann gu bheil teachdaireachd (ProducerRecord) air a sgrìobhadh chun bufair cuir airson gach sgaradh gnìomhach agus air a chuir chun broker mar snàithlean cùl-fhiosrachaidh ann an leabharlann teachdaiche Kafka. Fhad ‘s a tha seo a’ dèanamh cùisean gu math luath, tha e a’ ciallachadh gum faod tagradh gun eòlas teachdaireachdan a chall ma thèid stad a chuir air a phròiseas.

Mar a bha e an-còmhnaidh, tha dòigh ann air an obair cuir a dhèanamh nas earbsaiche aig cosgais coileanaidh. Faodar meud a ’bhufair seo a shuidheachadh gu 0, agus feumaidh an t-snàthainn tagraidh cur a-steach feitheamh gus an tèid an teachdaireachd a ghluasad chun broker, mar a leanas:

RecordMetadata metadata = producer.send(record).get();

Tuilleadh mu bhith a’ leughadh teachdaireachdan

Tha iom-fhillteachd a bharrachd aig leughadh teachdaireachdan ris am feumar beachdachadh. Eu-coltach ris an JMS API, as urrainn neach-èisteachd teachdaireachd a ruith mar fhreagairt do theachdaireachd, tha an Luchd-cleachdaidh Kafka a-mhàin cunntasan-bheachd. Bheir sinn sùil nas mionaidiche air an dòigh-obrach bhòt()air a chleachdadh airson an adhbhair seo:

ConsumerRecords < K, V > poll(long timeout);

Is e luach tilleadh an dòigh structar container anns a bheil grunn nithean clàr luchd-cleachdaidh bho ghrunn phàirtean a dh’ fhaodadh a bhith ann. clàr luchd-cleachdaidh tha e fhèin na nì gleidhidh airson paidhir luach-iuchrach le meata-dàta co-cheangailte ris, leithid an sgaradh bhon tàinig e.

Mar a chaidh a dheasbad ann an Caibideil 2, feumaidh sinn cuimhneachadh dè thachras do theachdaireachdan às deidh dhaibh a bhith air an giullachd gu soirbheachail no gu neo-shoirbheachail, mar eisimpleir, mura h-urrainn don neach-dèiligidh an teachdaireachd a phròiseasadh no ma sguireas e. Ann an JMS, chaidh seo a làimhseachadh tro mhodh aithneachaidh. Sguabaidh am broker às an teachdaireachd a chaidh a phròiseasadh gu soirbheachail, no bheir e seachad an teachdaireachd amh no meallta (a’ gabhail ris gun deach gnothaichean a chleachdadh).
Tha Kafka ag obair gu math eadar-dhealaichte. Cha tèid teachdaireachdan a dhubhadh às anns a’ bhròcair às deidh an leughadh dearbhaidh, agus tha na thachras ma dh’ fhàilligeadh an urra ris a’ chòd dearbhaidh fhèin.

Mar a thuirt sinn, tha a 'bhuidheann luchd-cleachdaidh co-cheangailte ris a' chothromachadh sa log. Tha suidheachadh an loga co-cheangailte ris a’ chothromachadh seo a’ freagairt ris an ath theachdaireachd a thèid a sgaoileadh mar fhreagairt dha bhòt(). Tha an t-àm anns a bheil an cothromachadh seo ag àrdachadh gu cinnteach airson leughadh.

A’ tilleadh chun mhodail leughaidh a chaidh a dheasbad na bu thràithe, tha trì ìrean ann an làimhseachadh teachdaireachd:

  1. Luchdaich a-nuas an teachdaireachd airson a leughadh.
  2. Pròiseas an teachdaireachd.
  3. Dearbhaich teachdaireachd.

Tha roghainn rèiteachaidh aig neach-cleachdaidh Kafka comas.auto.com. Is e suidheachadh bunaiteach a thathas a’ cleachdadh gu tric a tha seo, mar a tha cumanta le roghainnean anns a bheil am facal “auto”.

Ro Kafka 0.10, chuireadh neach-dèiligidh a chleachdas an roghainn seo co-chothromachadh na teachdaireachd mu dheireadh a chaidh a leughadh air an ath ghairm bhòt() an dèidh giollachd. Bha seo a’ ciallachadh gum faodadh teachdaireachdan sam bith a chaidh fhaighinn mar-thà a bhith air an ath-ghiollachdadh nam biodh an neach-dèiligidh air an giullachd mar-thà ach gun deach a sgrios gun dùil mus gairm iad bhòt(). Leis nach eil am broker a’ cumail staid sam bith mu cia mheud uair a chaidh teachdaireachd a leughadh, cha bhith fios aig an ath neach-ceannach a gheibh an teachdaireachd sin air ais dad dona. Bha an giùlan seo meallta. Cha deach an co-chothromachadh a dhèanamh ach ma chaidh an teachdaireachd a phròiseasadh gu soirbheachail, ach ma sguireas an neach-dèiligidh, chuireadh am broker an aon teachdaireachd a-rithist gu teachdaiche eile. Bha an giùlan seo co-chòrdail ris a’ ghealladh lìbhrigidh teachdaireachd "co-dhiù aon turas".

Ann an Kafka 0.10, chaidh còd an neach-cleachdaidh atharrachadh gus am bi an gealltanas air a bhrosnachadh bho àm gu àm le leabharlann an neach-cleachdaidh, mar a chaidh a rèiteachadh auto.comment.interval.ms. Tha an giùlan seo am badeigin eadar na modhan JMS AUTO_ACKNOWLEDGE agus DUPS_OK_ACKNOWLEDGE. Nuair a bhios tu a’ cleachdadh autocommit, dh’ fhaodadh teachdaireachdan a bhith air an gealltainn ge bith an deach an giullachd - dh’ fhaodadh seo tachairt ma tha neach-cleachdaidh slaodach. Nan sguireadh neach-cleachdaidh, bhiodh an ath neach-cleachdaidh a’ faighinn teachdaireachdan, a’ tòiseachadh aig an t-suidheachadh dealasach, a dh’ fhaodadh teachdaireachd a chall. Anns a 'chùis seo, cha do chaill Kafka na teachdaireachdan, cha do rinn an còd leughaidh dìreach iad.

Tha an aon ghealladh aig a’ mhodh seo ’s a tha ann an dreach 0.9: faodar teachdaireachdan a ghiullachd, ach ma dh’ fhailicheas e, is dòcha nach tèid an co-chothromachadh a ghealltainn, a dh’ fhaodadh lìbhrigeadh dùblachadh. Mar as motha de theachdaireachdan a gheibh thu nuair a chuireas tu an gnìomh bhòt(), mar as motha an duilgheadas seo.

Mar a chaidh a dheasbad ann an “Leugh Teachdaireachdan bho Ciudha” air duilleag 21, chan eil leithid de rud ann ri lìbhrigeadh teachdaireachd aon-ùine ann an siostam teachdaireachd nuair a thathas a’ toirt aire do mhodhan fàilligeadh.

Ann an Kafka, tha dà dhòigh air co-chothromachadh (co-chothromachadh) a ghealltainn: gu fèin-ghluasadach agus le làimh. Anns gach cùis, faodar teachdaireachdan a phròiseasadh grunn thursan ma chaidh an teachdaireachd a phròiseasadh ach nach do dh'fhàillig e ron ghealladh. Faodaidh tu cuideachd roghnachadh gun a bhith a’ làimhseachadh na teachdaireachd idir ma thachair an gealladh air a’ chùl agus gun deach do chòd a chrìochnachadh mus gabhadh a phròiseasadh (is dòcha ann an Kafka 0.9 agus na bu thràithe).

Faodaidh tu smachd a chumail air a’ phròiseas gealltanas fèin-aghaidh làimhe ann an API luchd-cleachdaidh Kafka le bhith a’ suidheachadh am paramadair comas.auto.com gu meallta agus gu soilleir a’ gairm aon de na dòighean a leanas:

void commitSync();
void commitAsync();

Ma tha thu airson an teachdaireachd a phròiseasadh “co-dhiù aon uair”, feumaidh tu an cuir dheth le làimh tiomnadhSync()le bhith a’ cur an gnìomh an àithne seo dìreach às deidh na teachdaireachdan a ghiullachd.

Chan eil na modhan sin a’ leigeil le teachdaireachdan aithneachadh mus tèid an giullachd, ach chan eil iad a’ dèanamh dad gus cuir às do dhàil giullachd a dh’ fhaodadh a bhith ann fhad ‘s a tha iad a’ nochdadh coltas gnìomhachd. Chan eil gnothaichean ann an Kafka. Chan eil comas aig an neach-dèiligidh na leanas a dhèanamh:

  • Cuir air ais teachdaireachd meallta gu fèin-ghluasadach. Feumaidh luchd-cleachdaidh iad fhèin a bhith a’ làimhseachadh eisgeachdan ag èirigh bho eallach pàighidh trioblaideach agus briseadh cùl-taic, leis nach urrainn dhaibh a bhith an urra ris a’ bhròcair gus teachdaireachdan a lìbhrigeadh a-rithist.
  • Cuir teachdaireachdan gu grunn chuspairean ann an aon obrachadh atamach. Mar a chì sinn a dh’ aithghearr, faodaidh smachd air diofar chuspairean agus earrannan fuireach air diofar innealan ann am buidheann Kafka nach bi a’ co-òrdanachadh ghnothaichean nuair a thèid an cur. Aig àm an sgrìobhaidh seo, chaidh beagan obrach a dhèanamh gus seo a dhèanamh comasach leis an KIP-98.
  • Dèan ceangal le bhith a’ leughadh aon teachdaireachd bho aon chuspair le bhith a’ cur teachdaireachd eile gu cuspair eile. A-rithist, tha ailtireachd Kafka an urra ri mòran innealan neo-eisimeileach a 'ruith mar aon bhus agus chan eilear a' feuchainn ri seo fhalach. Mar eisimpleir, chan eil co-phàirtean API ann a leigeadh leat ceangal a dhèanamh neach-cleachdaidh и Riochdaire ann an malairt. Ann an JMS, tha seo air a thoirt seachad leis an nì seiseana tha air an cruthachadh Riochdairean Teachdaireachdan и Teachdaireachdan Luchd-cleachdaidh.

Mura h-urrainn dhuinn a bhith an urra ri gnothaichean, ciamar as urrainn dhuinn semantics a thoirt seachad nas fhaisge air an fheadhainn a tha air an toirt seachad le siostaman teachdaireachd traidiseanta?

Ma tha e comasach gum bi cothromachadh an neach-cleachdaidh ag èirigh mus tèid an teachdaireachd a phròiseasadh, leithid ann an tubaist neach-cleachdaidh, chan eil dòigh aig an neach-cleachdaidh fios a bhith agad an do chaill a bhuidheann luchd-cleachdaidh an teachdaireachd nuair a thèid sgaradh a thoirt dha. Mar sin is e aon ro-innleachd an cothromachadh a thoirt air ais chun t-suidheachadh roimhe. Tha API luchd-cleachdaidh Kafka a’ toirt seachad na dòighean a leanas airson seo:

void seek(TopicPartition partition, long offset);
void seekToBeginning(Collection < TopicPartition > partitions);

Modh lorg () faodar a chleachdadh le modh
offsetsForTimes(Mapa stampaichean-amaToSearch) a dhol air ais gu staid aig àm sònraichte san àm a dh’ fhalbh.

Gu h-obann, tha cleachdadh na dòigh-obrach seo a’ ciallachadh gu bheil e glè choltach gun tèid cuid de theachdaireachdan a chaidh a ghiullachd roimhe a leughadh agus a ghiullachd a-rithist. Gus seo a sheachnadh, is urrainn dhuinn leughadh neo-chomasach a chleachdadh, mar a tha air a mhìneachadh ann an Caibideil 4, gus sùil a chumail air teachdaireachdan a chaidh fhaicinn roimhe agus cuir às do dhùblaidhean.

Air an làimh eile, faodar an còd teachdaiche agad a chumail sìmplidh, fhad ‘s a ghabhas gabhail ri call teachdaireachd no dùblachadh. Nuair a choimheadas sinn air cùisean cleachdaidh far a bheil Kafka air a chleachdadh gu cumanta, leithid làimhseachadh tachartasan log, meatrach, tracadh cliog, msaa, tha sinn a’ tuigsinn nach eil coltas ann gun toir call teachdaireachdan fa leth buaidh mhòr air tagraidhean mun cuairt. Ann an leithid de chùisean, tha na luachan bunaiteach gu tur iomchaidh. Air an làimh eile, ma dh'fheumas an tagradh agad pàighidhean a chuir a-steach, feumaidh tu aire a thoirt do gach teachdaireachd fa leth. Tha e uile a 'tighinn sìos gu co-theacsa.

Tha beachdan pearsanta a’ sealltainn mar a tha dian teachdaireachdan a’ dol am meud, gu bheil luach gach teachdaireachd fa leth a’ dol sìos. Tha teachdaireachdan mòra buailteach a bhith luachmhor nuair a thathar gam faicinn ann an cruth iomlan.

Cothrom àrd

Tha dòigh-obrach Kafka a thaobh ruigsinneachd àrd gu math eadar-dhealaichte bho dhòigh-obrach ActiveMQ. Tha Kafka air a dhealbhadh timcheall air cruinneachaidhean sgèile far am bi a h-uile suidheachadh broker a’ faighinn agus a ’sgaoileadh teachdaireachdan aig an aon àm.

Tha cruinneachadh Kafka a’ toirt a-steach grunn eisimpleirean broker a ’ruith air diofar luchd-frithealaidh. Chaidh Kafka a dhealbhadh gus a ruith air bathar-cruaidh àbhaisteach leis fhèin, far a bheil a stòradh sònraichte fhèin aig gach nód. Chan eilear a’ moladh stòradh ceangailte ris an lìonra (SAN) oir faodaidh ioma nodan coimpiutaireachd farpais airson ùine.Ыe amannan stòraidh agus cruthaich còmhstri.

Tha Kafka an-còmhnaidh air adhart siostam. Cha do dhùin mòran de luchd-cleachdaidh Kafka na cruinneachaidhean aca a-riamh agus bidh am bathar-bog an-còmhnaidh ag ùrachadh le ath-thòiseachadh sreath. Tha seo air a choileanadh le bhith a’ gealltainn co-chòrdalachd leis an dreach roimhe airson teachdaireachdan agus eadar-obrachadh eadar brocairean.

Brocairean ceangailte ri brabhsair frithealaiche Sùgh-glèidhidh, a tha ag obair mar chlàr dàta rèiteachaidh agus air a chleachdadh gus dreuchdan gach broker a cho-òrdanachadh. Tha ZooKeeper fhèin na shiostam sgaoilte a bheir seachad ruigsinneachd àrd tro ath-riochdachadh fiosrachaidh le bhith a’ stèidheachadh cuòram.

Anns a 'chùis bhunaiteach, tha cuspair air a chruthachadh ann am buidheann Kafka leis na feartan a leanas:

  • An àireamh de phàirtean. Mar a chaidh a dheasbad na bu thràithe, tha an dearbh luach a thathar a’ cleachdadh an seo an urra ris an ìre de leughadh co-shìnte a tha thu ag iarraidh.
  • Bidh am bàillidh mac-samhail (bàillidh) a’ dearbhadh cia mheud suidheachadh broker anns a’ bhuidheann a bu chòir logaichean a bhith ann airson a’ phàirt seo.

A’ cleachdadh ZooKeepers airson co-òrdanachadh, bidh Kafka a’ feuchainn ri sgaraidhean ùra a sgaoileadh gu cothromach am measg nam brocairean sa bhuidheann. Tha seo air a dhèanamh le aon eisimpleir a tha ag obair mar Rianadair.

Aig àm ruith airson gach roinn cuspair Rianadair sònraich dreuchdan gu broker ceannard (ceannard, maighstir, preasantair) agus luchd-leanmhuinn (luchd-leantainn, tràillean, fo-roinnean). Tha e an urra ris a’ bhròcair, ag obair mar stiùiriche a’ sgaradh seo, a bhith a’ faighinn a h-uile teachdaireachd a chuir na riochdairean thuige agus a’ sgaoileadh na teachdaireachdan gu luchd-cleachdaidh. Nuair a thèid teachdaireachdan a chuir gu sgaradh cuspair, bidh iad air an ath-aithris gu gach nod broker ag obair mar luchd-leantainn airson an sgaradh sin. Canar gach nód anns a bheil logaichean airson sgaradh mac-samhail. Faodaidh broker a bhith na stiùiriche airson cuid de sgaradh agus mar neach-leantainn do chuid eile.

Canar neach-leantainn anns a bheil a h-uile teachdaireachd a tha aig an stiùiriche mac-samhail sioncronaich (mac-samhail a tha ann an staid shioncronaichte, mac-samhail in-sync). Ma thèid broker a tha ag obair mar stiùiriche airson sgaradh sìos, faodaidh broker sam bith a tha ùraichte no sioncronaich airson an sgaradh sin dreuchd an stiùiriche a ghabhail thairis. Is e dealbhadh air leth seasmhach a th’ ann.

Is e pàirt de rèiteachadh an riochdaire am paramadair aic, a bhios a’ dearbhadh cia mheud mac-samhail a dh’ fheumas aideachadh (ag aithneachadh) gun d’ fhuair iad teachdaireachd mus lean an t-snàthainn tagraidh a’ cur: 0, 1, no iad uile. Ma thèid a shuidheachadh a h-uile, an uairsin nuair a gheibhear teachdaireachd, cuiridh an stiùiriche dearbhadh air ais chun riochdaire cho luath ‘s a gheibh e dearbhaidhean (aithneachadh) den chlàr bho ghrunn chuisean (a’ toirt a-steach e fhèin) air a mhìneachadh leis an t-suidheachadh cuspair mion.insync.mac-samhail (bunaiteach 1). Mura h-urrainnear an teachdaireachd ath-riochdachadh gu soirbheachail, tilgidh an riochdaire eisgeachd tagraidh (Chan eil gu leòr mac-samhail no Chan eil gu leòr mac-samhail às deidh an ath-thagradh).

Bidh rèiteachadh àbhaisteach a’ cruthachadh cuspair le feart mac-samhail de 3 (stiùiriche 1, luchd-leantainn 2 gach sgaradh) agus am paramadair mion.insync.mac-samhail air a shuidheachadh gu 2. Anns a 'chùis seo, leigidh am brabhsair le aon de na brocairean a tha a' stiùireadh an sgaradh cuspair a dhol sìos gun a bhith a 'toirt buaidh air iarrtasan luchd-cleachdaidh.

Bheir seo sinn air ais chun a’ chòmhstri air a bheil sinn eòlach mar-thà eadar coileanadh agus earbsachd. Bidh ath-riochdachadh a’ tachairt aig cosgais ùine feitheimh a bharrachd airson dearbhaidhean (aithneachadh) bho luchd-leantainn. Ged, leis gu bheil e a’ ruith aig an aon àm, tha an aon choileanadh aig ath-riochdachadh gu co-dhiù trì nodan ri dhà (a’ seachnadh àrdachadh ann an cleachdadh leud-bann lìonra).

Le bhith a’ cleachdadh an sgeama mac-samhail seo, bidh Kafka gu ciallach a’ seachnadh an fheum air gach teachdaireachd a sgrìobhadh gu diosc leis an obair sioncranachadh(). Thèid gach teachdaireachd a chuir an riochdaire a sgrìobhadh chun loga sgaradh, ach mar a chaidh a dheasbad ann an Caibideil 2, tha sgrìobhadh gu faidhle air a dhèanamh an toiseach ann am bufair an t-siostaim obrachaidh. Ma thèid an teachdaireachd seo ath-aithris gu eisimpleir Kafka eile agus gu bheil e na chuimhne, chan eil call an stiùiriche a’ ciallachadh gun deach an teachdaireachd fhèin a chall - faodar a ghabhail thairis le mac-samhail sioncronaich.
A 'diùltadh an gnìomh a choileanadh sioncranachadh() a’ ciallachadh gum faigh Kafka teachdaireachdan cho luath ‘s as urrainn dha an sgrìobhadh gu cuimhne. Air an làimh eile, mar as fhaide as urrainn dhut cuimhne a shruthladh gu diosc, is ann as fheàrr. Air an adhbhar seo, chan eil e neo-chumanta gum faigh brocairean Kafka 64 GB no barrachd de chuimhne. Tha an cleachdadh cuimhne seo a’ ciallachadh gum faod aon eisimpleir Kafka ruith gu furasta aig astaran mìltean de thursan nas luaithe na broker teachdaireachd traidiseanta.

Faodar Kafka a rèiteachadh cuideachd gus an gnìomhachd a chuir an sàs sioncranachadh() gu pacaidean teachdaireachd. Leis gu bheil a h-uile dad ann an Kafka stèidhichte air pasgan, bidh e ag obair gu math airson mòran chùisean cleachdaidh agus tha e na inneal feumail dha luchd-cleachdaidh aig a bheil feum air barrantasan làidir. Tha mòran de choileanadh fìor Kafka a’ tighinn bho na teachdaireachdan a thèid a chuir chun broker mar phasganan agus gu bheil na teachdaireachdan sin air an leughadh bhon broker ann am blocaichean sreath a ’cleachdadh leth-bhreac neoni obrachaidhean (gnìomhan nuair nach eilear a’ coileanadh an obair airson dàta a chopaigeadh bho aon raon cuimhne gu àite eile). Tha an tè mu dheireadh na choileanadh mòr agus na bhuannachd ghoireasan agus chan eil e comasach ach le bhith a’ cleachdadh structar dàta log bunaiteach a tha a’ mìneachadh an sgeama sgaradh.

Tha coileanadh fada nas fheàrr comasach ann an cruinneachadh Kafka na le aon broker Kafka, oir faodaidh sgaraidhean cuspair leudachadh thairis air mòran innealan eadar-dhealaichte.

Builean

Anns a’ chaibideil seo, choimhead sinn air mar a tha ailtireachd Kafka ag ath-aithris a’ chàirdeis eadar teachdaichean agus brocairean gus loidhne-phìoban teachdaireachdan air leth làidir a sholarachadh, le cur-a-steach iomadh uair nas motha na b’ àbhaist a bhith aig broker teachdaireachd. Tha sinn air beachdachadh air a’ ghnìomhachd a bhios e a’ cleachdadh gus seo a choileanadh agus air sgrùdadh goirid a dhèanamh air ailtireachd thagraidhean a bheir seachad an gnìomh seo. Anns an ath chaibideil, seallaidh sinn ri duilgheadasan cumanta a dh’ fheumas tagraidhean stèidhichte air teachdaireachdan gus fuasgladh fhaighinn air ro-innleachdan airson dèiligeadh riutha. Cuiridh sinn crìoch air a’ chaibideil le bhith a’ mìneachadh mar a bhruidhneas tu mu theicneòlasan teachdaireachd san fharsaingeachd gus an urrainn dhut measadh a dhèanamh air am freagarrachd airson do chùisean cleachdaidh.

Pàirt eadar-theangaichte roimhe: A’ tuigsinn brocairean teachdaireachd. Ag ionnsachadh meacanaig teachdaireachdan le ActiveMQ agus Kafka. Caibideil 1

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

Ri leantainn ...

Chan fhaod ach luchd-cleachdaidh clàraichte pàirt a ghabhail san sgrùdadh. Soidhnig a-steach, mas e do thoil e.

A bheil Kafka air a chleachdadh sa bhuidheann agad?

  • gu bheil

  • Chan eil

  • Air a chleachdadh roimhe, chan eil a-nis

  • Tha sinn an dùil a chleachdadh

Bhòt 38 neach-cleachdaidh. Sheall 8 neach-cleachdaidh.

Source: www.habr.com

Cuir beachd ann