Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Bonjou tout moun! Nou gen yon bon nouvèl, OTUS ap lanse kou a ankò nan mwa jen "Achitek lojisyèl", an koneksyon avèk ki tradisyonèlman nou pataje materyèl itil avèk ou.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Si ou te rankontre tout bagay sa a mikwosèvis san okenn kontèks, ou ta dwe padonnen pou panse li se yon ti kras etranj. Divize yon aplikasyon an fragman ki konekte pa yon rezo nesesèman vle di ajoute mòd konplèks tolerans fay nan sistèm distribiye ki lakòz.

Malgre ke apwòch sa a enplike nan kraze li nan anpil sèvis endepandan, objektif final la se pi plis pase jis gen sèvis sa yo kouri sou machin diferan. Nou ap pale isit la sou entèraksyon ak mond lan deyò, ki se tou distribye nan sans li yo. Pa nan sans teknik la, men pito nan sans yon ekosistèm ki gen anpil moun, ekip, pwogram, ak chak nan pati sa yo yon jan kanmenm bezwen fè travay li.

Konpayi yo, pou egzanp, se yon koleksyon sistèm distribiye ki kolektivman kontribye nan reyalizasyon nan kèk objektif. Nou te inyore reyalite sa a pou dè dekad, ap eseye reyalize inifikasyon pa FTPing dosye oswa lè l sèvi avèk zouti entegrasyon antrepriz pandan y ap konsantre sou pwòp objektif izole nou yo. Men, ak avenman sèvis yo, tout bagay chanje. Sèvis yo te ede nou gade pi lwen pase orizon an ak wè yon mond nan pwogram entèdepandan ki travay ansanm. Sepandan, nan lòd yo travay avèk siksè, li nesesè yo rekonèt ak konsepsyon de mond fondamantalman diferan: mond lan ekstèn, kote nou ap viv nan yon ekosistèm nan anpil lòt sèvis, ak mond pèsonèl nou an, entèn, kote nou dirije pou kont li.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Monn distribye sa a diferan de sa nou te grandi nan e nou abitye avèk li. Prensip yo nan konstwi tradisyonèl achitekti monolitik pa kanpe devan kritik. Se konsa, jwenn sistèm sa yo dwat se sou plis pase kreye yon dyagram witbord fre oswa yon prèv fre nan konsèp. Pwen an se asire ke yon sistèm konsa opere avèk siksè sou yon peryòd tan ki long. Erezman, sèvis yo te alantou pou kèk tan, byenke yo gade diferan. Leson SOA yo toujou enpòtan, menm sezonman ak Docker, Kubernetes ak bab hipster yon ti kras ranyon.

Se konsa, jodi a nou pral gade ki jan règ yo te chanje, poukisa nou bezwen repanse fason nou apwoche sèvis yo ak done yo youn transmèt lòt, e poukisa nou pral bezwen zouti konplètman diferan pou fè li.

Encapsulation p ap toujou zanmi w

Mikwosèvis yo ka opere poukont youn ak lòt. Se pwopriyete sa a ki ba yo pi gwo valè. Pwopriyete sa a menm pèmèt sèvis yo echèl ak grandi. Pa tèlman nan sans dekale nan kadrillyon itilizatè oswa petabyte nan done (byenke sa yo ka ede la tou), men nan sans nan dekale an tèm de moun kòm ekip ak òganizasyon grandi kontinyèlman.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Sepandan, endepandans se yon epe de bò. Sa vle di, sèvis nan tèt li ka kouri fasil ak natirèlman. Men, si yon fonksyon aplike nan yon sèvis ki mande pou sèvi ak yon lòt sèvis, Lè sa a, nou fini gen pou fè chanjman nan tou de sèvis prèske an menm tan. Nan yon monolit sa a se fasil fè, ou jis fè yon chanjman epi voye li nan lage, men nan ka a nan senkronize sèvis endepandan pral gen plis pwoblèm. Kowòdinasyon ant ekip ak sik lage detwi ladrès.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Kòm yon pati nan apwòch estanda a, yo tou senpleman eseye pou fè pou evite anmèdan fen-a-fen chanjman, byen klè divize fonksyonalite ant sèvis yo. Sèvis enskripsyon sèl ka yon bon egzanp isit la. Li gen yon wòl byen defini ki diferansye li de lòt sèvis yo. Separasyon klè sa a vle di ke nan yon mond nan demann ki chanje rapidman sou sèvis ki antoure li, sèvis la yon sèl sign-on pa gen anpil chans chanje. Li egziste nan yon kontèks estrikteman limite.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Pwoblèm lan se ke nan mond reyèl la, sèvis biznis pa ka kenbe menm separasyon pi bon kalite nan wòl tout tan tout tan an. Pou egzanp, sèvis biznis yo menm travay nan yon pi gwo limit ak done ki soti nan lòt sèvis menm jan an. Si ou patisipe nan Yo Vann an Detay sou entènèt, Lè sa a, pwosesis koule lòd, katalòg pwodwi oswa enfòmasyon itilizatè yo pral vin yon kondisyon pou anpil nan sèvis ou yo. Chak nan sèvis yo ap bezwen aksè a done sa yo pou opere.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo
Pifò sèvis biznis yo pataje menm kouran done, kidonk travay yo se envaryabmam mare.

Kidonk nou rive nan yon pwen enpòtan ki merite pale sou li. Pandan ke sèvis yo travay byen pou konpozan enfrastrikti ki opere lajman nan izolasyon, pifò sèvis biznis yo fini yo te mare pi byen.

Dikotomi done

Apwòch sèvis oryante ka deja egziste, men yo toujou manke insight sou fason yo pataje gwo kantite done ant sèvis yo.

Pwoblèm prensipal la se ke done ak sèvis yo inséparabl. Sou yon bò, ankapsulasyon ankouraje nou kache done pou sèvis yo ka separe youn ak lòt epi fasilite kwasans yo ak plis chanjman. Nan lòt men an, nou bezwen kapab divize ak konkeri done pataje lib, menm jan ak nenpòt lòt done. Pwen an se pou kapab kòmanse travay imedyatman, kòm lib tankou nan nenpòt lòt sistèm enfòmasyon.

Sepandan, sistèm enfòmasyon yo pa gen anpil pou li wè ak encapsulation. An reyalite, se byen opoze a. Baz done fè tout sa yo kapab pou bay aksè a done yo estoke. Yo vini ak yon koòdone deklaratif pwisan ki pèmèt ou modifye done yo jan ou bezwen. Fonksyonalite sa yo enpòtan nan etap rechèch preliminè, men se pa pou jere konpleksite k ap grandi nan yon sèvis ki toujou ap evolye.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Ak isit la yon dilèm rive. Kontradiksyon. Dikotomi. Apre yo tout, sistèm enfòmasyon yo sou bay done, ak sèvis yo se sou kache.

De fòs sa yo fondamantal. Yo soutni anpil nan travay nou an, yo toujou ap goumen pou ekselans nan sistèm nou bati yo.

Pandan sistèm sèvis yo ap grandi ak evolye, nou wè konsekans dikotomi done yo nan plizyè fason. Swa koòdone sèvis la ap grandi, bay yon seri fonksyonalite k ap ogmante tout tan epi li kòmanse sanble ak yon baz done trè anpenpan, oswa nou pral vin fristre epi aplike yon fason pou rekipere oswa deplase an masse tout seri done soti nan sèvis nan sèvis.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Nan vire, kreye yon bagay ki sanble ak yon baz done anpenpan homegrown pral mennen nan yon pakèt pwoblèm. Nou pa pral antre nan detay sou poukisa li danjere baz done pataje, Ann jis di ke li reprezante siyifikatif jeni koute chè ak operasyonèl difikilte pou konpayi an ki ap eseye sèvi ak li.

Ki sa ki pi mal se ke volim done agrandi pwoblèm fwontyè sèvis yo. Plis done yo pataje nan yon sèvis, plis koòdone a ap vin konplike epi li pral pi difisil pou konbine seri done ki soti nan diferan sèvis.

Apwòch altènatif nan èkstraksyon ak deplase tout seri done tou gen pwoblèm li yo. Yon apwòch komen nan kesyon sa a sanble tou senpleman rekipere ak estoke dataset la tout antye, ak Lè sa a, estoke li lokalman nan chak sèvis konsome.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Pwoblèm lan se ke sèvis diferan entèprete done yo konsome yon fason diferan. Done sa yo toujou nan men yo. Yo modifye ak trete lokalman. Byen vit yo sispann gen anyen an komen ak done yo nan sous la.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo
Plis kopi yo chanje, plis done yo ap varye sou tan.

Pou vin pi mal, done sa yo difisil pou korije nan retrospective (MDM Sa a se kote li ka vrèman vin sekou). An reyalite, kèk nan pwoblèm teknoloji ki pa ka rezoud ke biznis yo fè fas leve soti nan done yo disparate ki miltipliye soti nan aplikasyon an aplikasyon.

Pou jwenn yon solisyon a pwoblèm sa a, nou bezwen panse yon fason diferan sou done pataje. Yo dwe vin objè premye klas nan achitekti nou bati yo. Pat Helland rele done sa yo "ekstèn", e sa se yon karakteristik trè enpòtan. Nou bezwen ankapsulasyon pou nou pa ekspoze fonksyonman enteryè yon sèvis, men nou bezwen rann li fasil pou sèvis yo jwenn aksè nan done pataje yo pou yo ka fè travay yo kòrèkteman.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Pwoblèm lan se ke ni apwòch ki enpòtan jodi a, piske ni koòdone sèvis yo, ni messagerie yo, ni baz done pataje pa ofri yon bon solisyon pou travay ak done ekstèn. Koòdone sèvis yo mal adapte pou echanj done nan nenpòt echèl. Messaging deplase done men yo pa estoke istwa li yo, kidonk done vin pèvèti sou tan. Baz done pataje yo konsantre twòp sou yon pwen, ki anpeche pwogrè. Nou inevitableman bloke nan yon sik echèk done:

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo
Sik echèk done

Kouran: yon apwòch desantralize nan done ak sèvis yo

Idealman, nou bezwen chanje fason sèvis yo travay ak done pataje. Nan pwen sa a, swa apwòch fè fas a dikotomi susmansyone a, kòm pa gen okenn pousyè majik ki ka voye sou li pou fè li disparèt. Sepandan, nou ka repanse pwoblèm nan epi rive jwenn yon konpwomi.

Konpwomi sa a enplike yon sèten degre nan santralizasyon. Nou ka sèvi ak mekanis log distribye a paske li bay kouran ki serye, évolutive. Kounye a nou vle sèvis yo kapab rantre nan epi opere sou fil pataje sa yo, men nou vle evite konplèks sèvis Bondye santralize ki fè pwosesis sa a. Se poutèt sa, opsyon ki pi bon se bati pwosesis kouran nan chak sèvis konsomatè. Nan fason sa a, sèvis yo pral kapab konbine seri done ki soti nan diferan sous epi travay avèk yo fason yo bezwen.

Youn nan fason yo reyalize apwòch sa a se atravè itilizasyon yon platfòm difizyon. Gen anpil opsyon, men jodi a nou pral gade Kafka, depi itilizasyon Stateful Stream Processing li yo pèmèt nou rezoud efektivman pwoblèm prezante a.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Sèvi ak yon mekanis anrejistreman distribiye pèmèt nou swiv chemen ki byen foule a epi sèvi ak mesaj pou travay avèk yo achitekti evènman kondwi. Apwòch sa a konsidere kòm bay pi bon echèl ak patisyon pase mekanis demann-repons la paske li bay reseptè a kontwòl sou koule olye ke moun k la. Sepandan, pou tout bagay nan lavi sa a ou dwe peye, epi isit la ou bezwen yon koutye. Men, pou gwo sistèm, komès la vo li (ki pa ka a pou aplikasyon entènèt mwayèn ou).

Si yon koutye responsab pou anrejistreman distribye olye ke yon sistèm mesaj tradisyonèl, ou ka pran avantaj de karakteristik adisyonèl. Transpò a ka echèl lineyè prèske osi byen ke yon sistèm dosye distribye. Done yo ka estoke nan mòso bwa pou yon tan long, kidonk nou jwenn non sèlman echanj mesaj, men tou, depo enfòmasyon. Depo évolutive san yo pa pè eta pataje mutab.

Lè sa a, ou ka sèvi ak pwosesis ravin eta ajoute zouti baz done deklaratif nan sèvis konsome. Sa a se yon lide trè enpòtan. Pandan ke done yo estoke nan kouran pataje ke tout sèvis ka jwenn aksè, agrégation ak pwosesis ke sèvis la fè se prive. Yo twouve yo izole nan yon kontèks estrikteman limite.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo
Elimine dikotomi done lè w separe kouran eta imuiabl la. Lè sa a, ajoute fonksyonalite sa a nan chak sèvis lè l sèvi avèk Stateful Stream Processing.

Kidonk, si sèvis ou a bezwen travay ak lòd, yon katalòg pwodwi, yon depo, li pral gen aksè konplè: sèlman ou pral deside ki done yo konbine, ki kote yo trete li ak ki jan li ta dwe chanje sou tan. Malgre lefèt ke done yo pataje, travay avèk li konplètman desantralize. Li pwodui nan chak sèvis, nan yon mond kote tout bagay ale selon règ ou yo.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo
Pataje done san yo pa konpwomèt entegrite li yo. Ankapsule fonksyon an, pa sous la, nan chak sèvis ki bezwen li.

Sa rive ke done bezwen yo dwe deplase an masse. Pafwa yon sèvis mande pou yon seri done istorik lokal nan motè baz done chwazi a. Trick la se ke ou ka garanti ke, si sa nesesè, yo ka retabli yon kopi nan sous la lè w gen aksè nan mekanis anrejistreman distribye a. Konektè nan Kafka fè yon gwo travay nan sa a.

Se konsa, apwòch la diskite jodi a gen plizyè avantaj:

  • Done yo itilize nan fòm kouran komen, ki ka estoke nan mòso bwa pou yon tan long, ak mekanis pou travay ak done komen se byen fil nan chak kontèks endividyèl, ki pèmèt sèvis yo travay fasil epi byen vit. Nan fason sa a, dikotomi done yo ka balanse.
  • Done ki soti nan sèvis diferan yo ka fasilman konbine nan seri. Sa senplifye entèraksyon ak done pataje epi elimine nesesite pou kenbe seri done lokal yo nan baz done a.
  • Stateful Stream Processing sèlman kachèt done, ak sous la nan verite rete mòso bwa yo jeneral, kidonk pwoblèm nan nan koripsyon done sou tan se pa tèlman egi.
  • Nan nwayo yo, sèvis yo baze sou done, sa vle di malgre volim done yo toujou ap ogmante, sèvis yo ka toujou reponn byen vit nan evènman biznis yo.
  • Pwoblèm évolutivité tonbe sou koutye a, pa sèvis yo. Sa a siyifikativman diminye konpleksite nan sèvis ekri, depi pa gen okenn bezwen reflechi sou évolutivité.
  • Ajoute nouvo sèvis pa mande pou chanje ansyen sèvis yo, kidonk konekte nouvo sèvis vin pi fasil.

Kòm ou ka wè, sa a se plis pase jis REST. Nou te resevwa yon seri zouti ki pèmèt ou travay ak done pataje nan yon fason desantralize.

Se pa tout aspè yo te kouvri nan atik jodi a. Nou toujou bezwen chèche konnen ki jan balans ant paradigm demann-repons ak paradigm nan evènman kondwi. Men, nou pral fè fas ak sa a pwochen fwa. Gen sijè ke ou bezwen konnen pi byen, pou egzanp, poukisa Stateful Stream Processing tèlman bon. Nou pral pale sou sa a nan twazyèm atik la. Epi gen lòt konstriksyon pwisan ke nou ka pwofite si nou itilize yo, pou egzanp, Egzakteman Yon fwa Pwosesis. Li se yon jwèt changer pou distribiye sistèm biznis paske li bay garanti tranzaksyon pou XA nan yon fòm évolutive. Sa a pral diskite nan katriyèm atik la. Finalman, nou pral bezwen ale sou detay aplikasyon prensip sa yo.

Dikotomi done a: repanse relasyon ki genyen ant done ak sèvis yo

Men, pou kounye a, jis sonje sa a: dikotomi done a se yon fòs nou fè fas lè nou bati sèvis biznis. Epi nou dwe sonje sa a. Trick la se vire tout bagay sou tèt li epi kòmanse trete done pataje kòm objè premye klas. Stateful Stream Processing bay yon konpwomi inik pou sa. Li evite santralize "Konpozan Bondye" ki anpeche pwogrè. Anplis, li asire ladrès, évolutivité ak rezistans nan done difizyon tiyo epi ajoute yo nan chak sèvis. Se poutèt sa, nou ka konsantre sou kouran jeneral nan konsyans ke nenpòt sèvis ka konekte ak travay ak done li yo. Sa fè sèvis yo pi évolutive, ka ranplase ak otonòm. Se konsa, yo pral pa sèlman gade bon sou whiteboards ak tès ipotèz, men yo pral travay tou ak evolye pou dè dekad.

Aprann plis sou kou a.

Sous: www.habr.com

Add nouvo kòmantè