Oye awọn alagbata ifiranṣẹ. Kọ ẹkọ awọn ẹrọ ti fifiranṣẹ pẹlu ActiveMQ ati Kafka. Ori 1

Kaabo gbogbo eniyan!

Bẹrẹ itumọ iwe kekere kan:
«Oye Awọn alagbata Ifiranṣẹ«
onkowe: Jakub Korab, akede: O'Reilly Media, Inc., ọjọ ti atejade: June 2017, ISBN: 9781492049296.

Lati ibẹrẹ si iwe:
"... Iwe yii yoo kọ ọ bi o ṣe le ronu nipa awọn eto fifiranṣẹ alagbata nipa ifiwera ati iyatọ awọn imọ-ẹrọ alagbata olokiki meji: Apache ActiveMQ ati Apache Kafka. Yoo ṣe ilana awọn ọran lilo ati awọn iwuri idagbasoke ti o ti mu awọn olupilẹṣẹ wọn mu awọn ọna oriṣiriṣi lọpọlọpọ si agbegbe kanna ti fifiranṣẹ alagbata laarin awọn eto. A yoo wo awọn imọ-ẹrọ wọnyi lati ilẹ ati ṣe afihan ipa ti awọn yiyan apẹrẹ oriṣiriṣi ni ọna. Iwọ yoo ni oye ti o jinlẹ ti awọn ọja mejeeji, oye ti bii wọn ṣe yẹ ati pe ko yẹ ki o lo, ati oye ohun ti o yẹ ki o wa jade fun nigbati o ba gbero awọn imọ-ẹrọ fifiranṣẹ miiran ni ọjọ iwaju. … »

Awọn apakan tumọ titi di isisiyi:
Chapter 1 Ọrọ Iṣaaju
Chapter 3. Kafka

Emi yoo firanṣẹ awọn ipin ti o pari bi wọn ṣe tumọ wọn.

ORI 1

Ifihan

Fifiranṣẹ Intersystem jẹ ọkan ninu awọn agbegbe ti o ni oye ti o kere julọ ti IT. Gẹgẹbi olupilẹṣẹ tabi ayaworan, o le jẹ faramọ pẹlu ọpọlọpọ awọn ilana ati awọn apoti isura data. Sibẹsibẹ, o ṣee ṣe pe iwọ nikan ni iwo kan ti bii awọn imọ-ẹrọ fifiranṣẹ ti o da lori alagbata ṣiṣẹ. Ti o ba jẹ bi o ṣe lero, maṣe yọ ara rẹ lẹnu, o wa ni ile-iṣẹ ti o dara.

Awọn eniyan nigbagbogbo ni olubasọrọ to lopin pẹlu awọn amayederun fifiranṣẹ. Nigbagbogbo wọn sopọ si eto ti a ṣẹda ni igba pipẹ sẹhin, tabi ṣe igbasilẹ ohun elo pinpin lati Intanẹẹti, fi sii ni PROM ki o bẹrẹ kikọ koodu fun. Ni kete ti awọn amayederun ti wa ni oke ati nṣiṣẹ ni PROM, awọn abajade le jẹ adalu: awọn ifiranṣẹ ti sọnu lori awọn ipadanu, fifiranṣẹ ko ṣiṣẹ bi o ti nireti, tabi awọn alagbata gbe awọn olupilẹṣẹ rẹ silẹ tabi maṣe fi awọn ifiranṣẹ ranṣẹ si awọn alabara rẹ.

Dun faramọ?

Oju iṣẹlẹ ti o wọpọ nibiti koodu fifiranṣẹ rẹ ṣiṣẹ daradara, fun akoko naa. Titi ti yoo fi duro ṣiṣẹ. Akoko yii ṣe ifarabalẹ ati pe o funni ni ori ti aabo, eyiti o yori si koodu diẹ sii ti o da lori awọn imọran eke nipa ihuwasi ipilẹ ti imọ-ẹrọ. Nigbati awọn nkan ba bẹrẹ si aṣiṣe, o dojukọ pẹlu otitọ korọrun: pe o ko loye ihuwasi ti ọja naa gaan, tabi awọn iṣowo ti awọn onkọwe yan, gẹgẹbi iṣẹ ṣiṣe dipo agbara, tabi idunadura dipo petele scalability.

Laisi oye ti o jinlẹ ti bii awọn alagbata ṣe n ṣiṣẹ, awọn eniyan n ṣe awọn ẹtọ ti o dabi ẹni pe o ni oye nipa awọn eto fifiranṣẹ wọn, bii:

  • Awọn eto yoo ko padanu awọn ifiranṣẹ
  • Awọn ifiranṣẹ yoo wa ni ilọsiwaju lẹsẹsẹ
  • Ṣafikun awọn alabara yoo jẹ ki eto naa yarayara
  • Awọn ifiranṣẹ yoo jẹ jiṣẹ lẹẹkan

Laanu, diẹ ninu awọn alaye wọnyi da lori awọn arosinu ti o kan nikan labẹ awọn ipo kan, lakoko ti awọn miiran kii ṣe otitọ lasan.

Iwe yii yoo kọ ọ bi o ṣe le ronu nipa awọn eto fifiranṣẹ alagbata nipa ifiwera ati iyatọ awọn imọ-ẹrọ alagbata olokiki meji: Apache ActiveMQ ati Apache Kafka. Yoo ṣe ilana awọn ọran lilo ati awọn iwuri idagbasoke ti o ti mu awọn olupilẹṣẹ wọn mu awọn ọna oriṣiriṣi lọpọlọpọ si agbegbe kanna ti fifiranṣẹ alagbata laarin awọn eto. A yoo wo awọn imọ-ẹrọ wọnyi lati ilẹ ati ṣe afihan ipa ti awọn yiyan apẹrẹ oriṣiriṣi ni ọna. Iwọ yoo ni oye ti o jinlẹ ti awọn ọja mejeeji, oye ti bii wọn ṣe yẹ ati pe ko yẹ ki o lo, ati oye ohun ti o yẹ ki o wa jade fun nigbati o ba gbero awọn imọ-ẹrọ fifiranṣẹ miiran ni ọjọ iwaju.

Ṣaaju ki a to bẹrẹ, jẹ ki a lọ lori awọn ipilẹ.

Kini eto fifiranṣẹ ati idi ti o nilo

Ni ibere fun awọn ohun elo meji lati ṣe ibaraẹnisọrọ pẹlu ara wọn, wọn gbọdọ kọkọ sọ asọye ni wiwo. Itumọ ti wiwo yii pẹlu yiyan gbigbe tabi ilana bii HTTP, MQTT, tabi SMTP, ati idunadura awọn ọna kika ifiranṣẹ ti awọn ọna ṣiṣe yoo paarọ. Eyi le jẹ ilana ti o muna, gẹgẹbi asọye ero XML kan pẹlu awọn ibeere idiyele isanwo fun ifiranṣẹ kan, tabi o le jẹ ilana ti o kere pupọ, gẹgẹbi adehun laarin awọn olupilẹṣẹ meji pe apakan kan ti ibeere HTTP yoo ni idanimọ alabara kan. .

Niwọn igba ti ọna kika awọn ifiranṣẹ ati aṣẹ ti wọn firanṣẹ jẹ ibamu laarin awọn eto, wọn yoo ni anfani lati ṣe ibasọrọ pẹlu ara wọn laisi aibalẹ nipa imuse ti eto miiran. Awọn inu ti awọn ọna ṣiṣe wọnyi, gẹgẹbi ede siseto tabi ilana ti a lo, le yipada ni akoko pupọ. Niwọn igba ti adehun funrararẹ ti wa ni itọju, ibaraenisepo le tẹsiwaju laisi iyipada ni apa keji. Awọn ọna šiše meji naa ni a ti pin daradara (yapa) nipasẹ wiwo yii.

Awọn ọna ṣiṣe fifiranṣẹ ni igbagbogbo jẹ agbedemeji laarin awọn ọna ṣiṣe meji ti o ṣe ibaraenisepo si siwaju sii decouple (yatọ) olufiranṣẹ lati ọdọ olugba tabi awọn olugba. Ni idi eyi, eto fifiranṣẹ gba olufiranṣẹ laaye lati fi ifiranṣẹ ranṣẹ lai mọ ibi ti olugba naa wa, boya o nṣiṣẹ tabi iye awọn iṣẹlẹ wọn.

Jẹ ki a wo awọn afiwera meji fun iru awọn iṣoro ti eto fifiranṣẹ yanju ati ṣafihan diẹ ninu awọn ofin ipilẹ.

Ojuami-si-Point

Alexandra lọ si ọfiisi ifiweranṣẹ lati fi package ranṣẹ si Adam. O lọ si ferese o si fi ẹru naa fun oṣiṣẹ naa. Oṣiṣẹ naa gba idii naa o si fun Alexandra ni iwe-ẹri kan. Adam ko nilo lati wa ni ile nigbati a ba fi package ranṣẹ. Alexandra ni igboya pe package yoo jẹ jiṣẹ si Adam ni aaye kan ni ọjọ iwaju ati pe o le tẹsiwaju lati lọ nipa iṣowo rẹ. Nigbamii, ni aaye kan, Adam gba package kan.

Eyi jẹ apẹẹrẹ ti awoṣe fifiranṣẹ ntoka si ojuami. Ile ifiweranṣẹ nibi n ṣiṣẹ bi ẹrọ pinpin package, ni idaniloju pe package kọọkan jẹ jiṣẹ lẹẹkan. Lilo ile-iṣẹ ifiweranṣẹ yapa iṣe ti fifiranṣẹ ile-iṣẹ lati ifijiṣẹ ti ile-iṣẹ naa.
Ni awọn ọna ṣiṣe fifiranṣẹ Ayebaye, awoṣe aaye-si-ojuami ni imuse nipasẹ awọn ila. Ti isinyi n ṣiṣẹ bi FIFO (akọkọ ni, akọkọ jade) ifipamọ ti ọkan tabi diẹ sii awọn alabara le ṣe alabapin si. Ifiranṣẹ kọọkan jẹ jiṣẹ nikan ọkan ninu awọn onibara alabapin. Awọn ila maa n gbiyanju lati pin kaakiri awọn ifiranṣẹ ni deede laarin awọn onibara. Onibara kan ṣoṣo ni yoo gba ifiranṣẹ yii.

Oro naa "ti o tọ" ni a lo si awọn ila. Dede jẹ ohun-ini iṣẹ ti o ṣe iṣeduro pe eto fifiranṣẹ yoo tọju awọn ifiranṣẹ ni aini ti awọn alabapin ti nṣiṣe lọwọ titi ti alabara yoo fi ṣe alabapin si isinyi ifijiṣẹ ifiranṣẹ.

Igbẹkẹle nigbagbogbo ni idamu pẹlu itẹramọṣẹ ati, biotilejepe awọn meji awọn ofin ni o wa interchangeable, nwọn ṣe orisirisi awọn iṣẹ. Iduroṣinṣin pinnu boya ifiranṣẹ ti kọ nipasẹ eto fifiranṣẹ si iru ibi ipamọ kan laarin gbigba ati fifiranṣẹ si alabara. Awọn ifiranṣẹ ti a fi ranṣẹ si isinyin le tabi ko le jẹ jubẹẹlo.
Fifiranṣẹ ojuami-si-ojuami jẹ lilo nigbati ọran lilo kan nilo iṣẹ kan lori ifiranṣẹ kan. Awọn apẹẹrẹ pẹlu fifi owo sinu akọọlẹ kan tabi mimu aṣẹ ifijiṣẹ ṣẹ. A yoo jiroro nigbamii idi ti eto fifiranṣẹ funrararẹ ko lagbara lati pese ifijiṣẹ akoko kan ati idi ti awọn ila le pese iṣeduro ifijiṣẹ dara julọ. o kere ju ẹẹkan.

Akede-alabapin

Gabriella tẹ nọmba apejọ naa. Lakoko ti o ti sopọ si apejọ naa, o gbọ ohun gbogbo ti agbọrọsọ sọ, pẹlu iyoku awọn olukopa ipe. Nigbati o ba dudu, o padanu ohun ti a sọ. Nigbati o ba tun so pọ, o tẹsiwaju lati gbọ ohun ti n sọ.

Eyi jẹ apẹẹrẹ ti awoṣe fifiranṣẹ jade-alabapin. Ipe alapejọ n ṣiṣẹ bi ẹrọ igbohunsafefe. Ẹniti o n sọrọ ko bikita iye eniyan ti o wa lọwọlọwọ lori ipe - eto naa ṣe idaniloju pe ẹnikẹni ti o ni asopọ lọwọlọwọ yoo gbọ ohun ti n sọ.
Ninu awọn ọna ṣiṣe fifiranṣẹ alailẹgbẹ, awoṣe fifiranṣẹ ṣiṣe alabapin ti a ti ṣe imuse nipasẹ gbepokini. Koko kan n pese ọna igbohunsafefe kanna gẹgẹbi ẹrọ apejọ. Nigba ti a ba fi ifiranṣẹ ranṣẹ si koko-ọrọ, o pin fun gbogbo awọn olumulo alabapin.

Awọn koko-ọrọ nigbagbogbo ti ko le gbẹkẹle (aiṣeduro). Gẹgẹbi olutẹtisi ti ko le gbọ ohun ti a sọ lori ipe apejọ kan, nigbati olutẹtisi ba lọ offline, awọn alabapin koko-ọrọ padanu awọn ifiranṣẹ eyikeyi ti wọn firanṣẹ lakoko ti wọn wa ni offline. Fun idi eyi, a le sọ pe awọn oke pese iṣeduro ti ifijiṣẹ. ko si ju ẹẹkan lọ fun gbogbo olumulo.

Ṣe atẹjade-Fifiranṣẹ Alabapin jẹ lilo igbagbogbo nigbati awọn ifiranṣẹ jẹ alaye ni iseda ati pipadanu ifiranṣẹ kan ko ṣe pataki ni pataki. Fun apẹẹrẹ, koko kan le ṣe atagba awọn kika iwọn otutu lati ẹgbẹ awọn sensọ lẹẹkan fun iṣẹju-aaya. Eto ti o nifẹ si iwọn otutu lọwọlọwọ ati pe o ṣe alabapin si koko-ọrọ kii yoo ṣe aniyan ti o ba padanu ifiranṣẹ kan - omiiran yoo de laipẹ.

arabara si dede

Oju opo wẹẹbu itaja nfi awọn ifiranṣẹ aṣẹ sinu “isinyi ifiranṣẹ”. Olumulo akọkọ ti awọn ifiranṣẹ wọnyi jẹ eto alase. Ni afikun, eto iṣatunṣe gbọdọ ni awọn ẹda ti awọn ifiranṣẹ aṣẹ wọnyi fun titọpa nigbamii. Mejeeji awọn ọna šiše ko le padanu awọn ifiranṣẹ, paapa ti o ba awọn ọna šiše ara wọn ko si fun awọn akoko. Oju opo wẹẹbu ko yẹ ki o mọ awọn eto miiran.

Awọn ọran lo nigbagbogbo nilo akojọpọ ti atẹjade-alabapin ati awọn awoṣe fifiranṣẹ aaye-si-ojuami, gẹgẹbi nigbati awọn ọna ṣiṣe lọpọlọpọ nilo ẹda ifiranṣẹ kan ati igbẹkẹle mejeeji ati itẹramọṣẹ ni a nilo lati ṣe idiwọ pipadanu ifiranṣẹ.

Ni awọn ọran wọnyi, opin irin ajo kan (ọrọ gbogbogbo fun awọn laini ati awọn akọle) nilo, eyiti o pin awọn ifiranṣẹ ni ipilẹ bi koko-ọrọ, nitorinaa ifiranṣẹ kọọkan ni a firanṣẹ si eto lọtọ ti o nifẹ si awọn ifiranṣẹ wọnyi, ṣugbọn ninu eyiti eto kọọkan le ṣalaye ọpọlọpọ awọn alabara. ti o gba awọn ifiranṣẹ ti nwọle, eyi ti o jẹ diẹ bi isinyi. Iru kika ninu ọran yii jẹ - ni kete ti fun kọọkan alasepo. Awọn ibi arabara wọnyi nigbagbogbo nilo agbara tobẹẹ ti olumulo kan ba ge asopọ, awọn ifiranṣẹ ti o firanṣẹ ni akoko yẹn jẹ itẹwọgba nigbati alabara ba tun sopọ.

Awọn awoṣe arabara kii ṣe tuntun ati pe o le lo si awọn ọna ṣiṣe fifiranṣẹ pupọ julọ, pẹlu mejeeji ActiveMQ (nipasẹ foju tabi awọn ibi alapọpọ ti o ṣajọpọ awọn koko-ọrọ ati awọn ila) ati Kafka (laiṣedeede, bi ohun-ini ipilẹ ti apẹrẹ opin irin ajo rẹ).

Ni bayi ti a ni diẹ ninu awọn imọ-ọrọ ipilẹ ati oye ti kini eto fifiranṣẹ le wulo fun, jẹ ki a wọle sinu awọn alaye.

Ti ṣe itumọ: tele.gg/middel_java

Apa kan ti o tumọ si atẹle: Chapter 3. Kafka

A tun ma a se ni ojo iwaju…

orisun: www.habr.com

Fi ọrọìwòye kun