Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Salama daholo! Manana vaovao tsara izahay, manomboka ny OTUS indray amin'ny volana Jona "Software Architect", mifandraika amin'ny fomba nizaranay fitaovana mahasoa anao.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Raha sendra mahita an'ity microservice manontolo ity ianao nefa tsy misy contexte, dia ho voavela heloka ianao raha mieritreritra fa hafahafa kely izany. Ny fizarazarana fampiharana ho sombiny mifandray amin'ny tambazotra dia midika fa manampy fomba fandeferana olana sarotra amin'ny rafitra zaraina.

Na dia tafiditra ao anatin'ity fomba fiasa ity aza ny fanaparitahana azy ho serivisy mahaleo tena maro, ny tanjona farany dia mihoatra lavitra noho ny fampandehanana ireo tolotra ireo amin'ny milina samihafa. Ny fifaneraserana amin’ny any ivelany no resahina eto, izay zaraina amin’ny maha izy azy ihany koa. Tsy amin'ny heviny ara-teknika, fa amin'ny hevitry ny tontolo iainana izay ahitana olona maro, ekipa, programa, ary ny tsirairay amin'ireo faritra ireo dia mila manao ny asany.

Ny orinasa, ohatra, dia fitambarana rafitra zaraina izay miara-miasa amin'ny fanatontosana tanjona sasany. Tsy niraharaha izany zava-misy izany nandritra ny am-polony taona maro izahay, niezaka ny hanatratra ny fampiraisana amin'ny alΓ lan'ny rakitra FTPing na mampiasa fitaovana fampidirana orinasa nefa mifantoka amin'ny tanjonay manokana. Saingy tamin'ny fahatongavan'ny serivisy dia niova ny zava-drehetra. Ny serivisy dia nanampy anay hibanjina ny faravodilanitra ary hahita tontolon'ny programa mifampiankina izay miara-miasa. Na izany aza, raha te hiasa amim-pahombiazana, dia ilaina ny mahafantatra sy mamolavola tontolo roa samy hafa ifotony: ny tontolo ivelany, izay iainantsika ao anatin'ny tontolo iainana misy tolotra maro hafa, ary ny tontolontsika manokana, anatiny, izay anjakantsika irery.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Ity tontolo zaraina ity dia tsy mitovy amin'ilay tany nihalehibe sy nahazatra antsika. Ny fitsipiky ny fananganana ny maritrano monolithic nentim-paharazana dia tsy mahazaka tsikera. Noho izany, ny fanaovana ireo rafitra ireo dia mihoatra noho ny famoronana kisarisary solaitrabe mangatsiatsiaka na porofo tsara momba ny hevitra. Ny tanjona dia ny hahazoana antoka fa miasa tsara mandritra ny fotoana maharitra ny rafitra toy izany. Soa ihany fa efa elaela ihany no nisy ireo tolotra ireo na dia hafa aza ny fijery azy. SOA Lesona dia mbola manan-danja, na dia efa za-draharaha amin'ny Docker, Kubernetes ary ny volombava hipster somary rava.

Noho izany dia hojerentsika ny fomba niovan'ny fitsipika, nahoana isika no mila mieritreritra indray ny fomba itondrana ny serivisy sy ny angon-drakitra ampitain'izy ireo, ary nahoana isika no mila fitaovana hafa tanteraka hanaovana izany.

Tsy ho namanao foana ny encapsulation

Afaka miasa tsy miankina ny microservices. Io fananana io no manome azy ireo ny sanda lehibe indrindra. Io fananana io ihany no ahafahan'ny serivisy mivelatra sy mitombo. Tsy dia amin'ny dikan'ny hoe scaling amin'ny quadrillions ny mpampiasa na petabytes ny angon-drakitra (na dia afaka manampy eo ihany koa), fa amin'ny heviny ny scaling eo amin'ny lafiny olona rehefa mitombo ny ekipa sy ny fikambanana.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Sabatra roa lela anefa ny fahaleovantena. Izany hoe, ny serivisy mihitsy dia afaka mandeha mora sy voajanahary. Saingy raha misy asa iray ampiharina ao anatin'ny serivisy iray izay mitaky ny fampiasana serivisy hafa, dia tsy maintsy manao fanovana amin'ny serivisy roa saika miaraka isika. Amin'ny monolith dia mora ny manao izany, manao fanovana fotsiny ianao ary mandefa izany amin'ny famoahana, fa amin'ny trangan'ny serivisy tsy miankina synchronizing dia hisy olana bebe kokoa. Ny fandrindrana eo amin'ny ekipa sy ny tsingerin'ny famoahana dia manimba ny fahaiza-manao.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Ao anatin'ny fomba fiasa mahazatra, miezaka fotsiny izy ireo hisoroka ny fanovana manahiran-tsaina amin'ny farany, mampisaraka mazava ny fiasa eo amin'ny serivisy. Ny serivisy sonia tokana dia mety ho ohatra tsara eto. Manana andraikitra voafaritra mazava izy io izay mampiavaka azy amin'ny serivisy hafa. Midika izany fisarahana mazava izany fa ao anatin'ny tontolon'ny fitakiana miovaova haingana amin'ny serivisy manodidina azy dia tsy azo inoana fa hiova ny serivisy sonia tokana. Ao anatin'ny toe-javatra voafetra ihany no misy azy.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Ny olana dia eo amin'ny tontolo tena izy, ny serivisy fandraharahana dia tsy afaka mitazona ny fisarahan'ny andraikitra madio foana. Ohatra, ny serivisy fandraharahana mitovy dia miasa betsaka kokoa miaraka amin'ny angona avy amin'ny serivisy hafa mitovy. Raha tafiditra amin'ny fivarotana an-tserasera ianao, dia ho takiana amin'ny ankamaroan'ny serivisynao ny fanodinana ny fikorianan'ny baiko, ny katalaogin'ny vokatra na ny mombamomba ny mpampiasa. Mila fidirana amin'ity data ity ny serivisy tsirairay mba hiasana.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy
Ny ankamaroan'ny tolotra fandraharahana dia mizara ny angon-drakitra mitovy, noho izany dia mifamatotra hatrany ny asany.

Noho izany dia tonga amin'ny teboka manan-danja tokony horesahina isika. Na dia miasa tsara aza ny serivisy ho an'ny singa fotodrafitrasa izay miasa mitokana, ny ankamaroan'ny serivisy fandraharahana dia mifamatotra akaiky kokoa.

Data dichotomy

Mety efa misy ny fomba fiasa miompana amin'ny serivisy, saingy mbola tsy mahafantatra ny fomba fizarana angon-drakitra betsaka eo amin'ny serivisy izy ireo.

Ny olana lehibe dia ny angon-drakitra sy ny serivisy dia tsy azo sarahina. Amin'ny lafiny iray, ny encapsulation dia mamporisika antsika hanafina angon-drakitra mba hahafahan'ny serivisy misaraka ary manamora ny fitomboany sy ny fanovana fanampiny. Amin'ny lafiny iray, mila afaka mizara malalaka sy mandresy ny angona iombonana isika, toy ny angona hafa rehetra. Ny tanjona dia ny fahafahana manomboka miasa avy hatrany, malalaka toy ny amin'ny rafitra fampahalalana hafa rehetra.

Na izany aza, ny rafitra fampahalalam-baovao dia tsy misy ifandraisany amin'ny encapsulation. Raha ny marina, dia mifanohitra amin'izany. Ny angon-drakitra dia manao izay rehetra azony atao mba hanomezana fidirana amin'ny angon-drakitra voatahiry. Izy ireo dia tonga miaraka amin'ny interface declarative mahery izay ahafahanao manova ny data araka izay ilainao. Ny fiasa toy izany dia zava-dehibe amin'ny dingan'ny fikarohana mialoha, fa tsy amin'ny fitantanana ny fahasarotana mitombo amin'ny serivisy mivoatra tsy tapaka.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Ary eto dia misy olana mitranga. fifanoherana. Dichotomie. Rehefa dinihina tokoa, ny rafitra fampahalalam-baovao dia momba ny fanomezana angon-drakitra, ary ny serivisy dia momba ny fanafenana.

Ireo hery roa ireo dia fototra. Izy ireo dia manohana ny ankamaroan'ny asantsika, miady tsy tapaka ho amin'ny fahatsarana amin'ny rafitra atsanganay.

Rehefa mitombo sy mivoatra ny rafitra serivisy, dia hitantsika amin'ny fomba maro ny vokatry ny dichotomy data. Na hitombo ny interface interface, manome fampiasa tsy mitsaha-mitombo ary manomboka ho toy ny angon-drakitra an-trano tena raitra, na ho kivy isika ka hampihatra fomba iray hamerenana na hamindrana angon-drakitra manontolo avy amin'ny serivisy mankany amin'ny serivisy.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Ho setrin'izany, ny famoronana zavatra mitovitovy amin'ny angon-drakitra an-trano tsara tarehy dia hitarika olana maro. Tsy hodinihintsika amin’ny an-tsipiriany ny antony maha-doza izany angon-drakitra iombonana, ndao lazaina fotsiny fa maneho ny injeniera sy ny fampandehanana lafo vidy fahasarotana ho an'ny orinasa miezaka mampiasa azy io.

Ny ratsy kokoa dia ny habetsahan'ny angon-drakitra dia mampitombo ny olan'ny fetran'ny serivisy. Arakaraka ny misy angon-drakitra zaraina ao anatin'ny serivisy iray, dia ho sarotra kokoa ny interface ary ho sarotra kokoa ny manambatra ny angona avy amin'ny serivisy samihafa.

Manana olana ihany koa ny fomba fiasa hafa amin'ny fakana sy famindrana ny angon-drakitra manontolo. Ny fomba fanao mahazatra amin'ity fanontaniana ity dia toa ny fakana sy fitehirizana fotsiny ny angon-drakitra manontolo, ary avy eo mitahiry izany eo an-toerana amin'ny serivisy mandany.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Ny olana dia ny sampan-draharaha samihafa dia mandika ny angon-drakitra laniny amin'ny fomba hafa. Ity angona ity dia eo am-pelatanana foana. Ovaina sy karakaraina eo an-toerana izy ireo. Vetivety dia mitsahatra tsy manana zavatra mitovy amin'ny angon-drakitra ao amin'ny loharano izy ireo.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy
Arakaraky ny miovaova ny dika mitovy, ny angon-drakitra hiovaova arakaraka ny fotoana.

Ny tena ratsy kokoa dia sarotra ny manitsy ny angon-drakitra toy izany rehefa jerena (MDM Eto no tena mety ho tonga famonjena). Raha ny marina, ny sasany amin'ireo olana ara-teknolojia sarotra atrehin'ny orinasa dia avy amin'ny angon-drakitra tsy mitovy izay mihabetsaka avy amin'ny fampiharana mankany amin'ny fampiharana.

Mba hahitana vahaolana amin'ity olana ity dia mila mieritreritra amin'ny fomba hafa momba ny angona nozaraina isika. Izy ireo dia tsy maintsy ho lasa zavatra kilasy voalohany amin'ny maritrano amboarintsika. Pat Helland miantso ny angon-drakitra toy izany "ivelany", ary izany dia singa manan-danja indrindra. Mila encapsulation isika mba tsy hampiharihary ny fiasan'ny serivisy iray, fa mila manamora ny fidirana amin'ny angona nozaraina ny serivisy mba hahafahan'izy ireo manao ny asany araka ny tokony ho izy.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Ny olana dia tsy misy ifandraisany amin'izao fotoana izao ny fomba fiasa, satria na ny serivisy serivisy, na ny hafatra, na ny Shared Database dia tsy manome vahaolana tsara amin'ny fiasana amin'ny data ivelany. Ny fifandraisan'ny serivisy dia tsy mety amin'ny fifanakalozana angona amin'ny ambaratonga rehetra. Mamindra angona ny hafatra fa tsy mitahiry ny tantarany, ka lasa simba ny angona rehefa mandeha ny fotoana. Mifantoka loatra amin'ny teboka iray ny angon-drakitra zaraina, izay mitazona ny fandrosoana. Tsy azo ihodivirana fa tafahitsoka ao anatin'ny tsingerin'ny tsy fahombiazan'ny data isika:

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy
Tsingerin'ny tsy fahombiazan'ny data

Streams: fomba fiasa itsinjaram-pahefana amin'ny angon-drakitra sy serivisy

Ny tsara indrindra dia mila manova ny fomba fiasan'ny serivisy miaraka amin'ny angona iombonana isika. Amin'izao fotoana izao, na ny fomba fiasa dia miatrika ny dichotomy voalaza etsy ambony, satria tsy misy vovoka majika azo afafy amin'izany mba hanjavona. Na izany aza, afaka mandinika indray ny olana isika ary mahazo marimaritra iraisana.

Ity marimaritra iraisana ity dia misy ambaratonga iray amin'ny foibe. Azontsika atao ny mampiasa ny mekanika lozisialy mizara satria manome stream azo itokisana sy azo scalable. Tianay izao ny serivisy ho afaka miditra sy miasa amin'ireo kofehy ifampizarana ireo, saingy tianay ny hialana amin'ny Sampan-draharahan'Andriamanitra foibe saro-pady izay manao izany fanodinana izany. Noho izany, ny safidy tsara indrindra dia ny fananganana fanodinana stream amin'ny serivisy mpanjifa tsirairay. Amin'izany fomba izany, ny serivisy dia afaka manambatra angon-drakitra avy amin'ny loharano samihafa ary miara-miasa amin'izy ireo araka izay ilainy.

Ny fomba iray hahatratrarana io fomba fiasa io dia amin'ny alΓ lan'ny fampiasana sehatra streaming. Misy safidy maro, fa anio isika dia hijery ny Kafka, satria ny fampiasana ny Stateful Stream Processing dia mamela antsika hamaha ny olana naseho.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Ny fampiasana mekanisma firaketana voazara dia ahafahantsika manaraka ny lalana efa voahitsakitsaka ary mampiasa hafatra hiarahana miasa Architecture entin'ny hetsika. Ity fomba fiasa ity dia heverina ho manome scaling sy fizarazarana tsara kokoa noho ny rafitra famaliana fangatahana satria manome fifehezana ny fikorianan'ny mpandray fa tsy ny mpandefa. Na izany aza, ny zava-drehetra eto amin'ity fiainana ity dia tsy maintsy mandoa, ary eto dia mila broker. Fa ho an'ny rafitra lehibe, ny varotra dia mendrika izany (izay mety tsy ho an'ny fampiharana web mahazatra anao).

Raha ny broker no tompon'andraikitra amin'ny fizarazarana logging fa tsy ny nentim-paharazana rafitra hafatra, dia afaka manararaotra ny fanampiny endri-javatra. Ny fitaterana dia afaka mirefy tsipika saika toy ny rafitra fichier zaraina. Ny angon-drakitra dia azo tehirizina ao anaty logs mandritra ny fotoana maharitra, noho izany dia tsy ny fifanakalozana hafatra ihany no azonay, fa ny fitahirizana fampahalalana ihany koa. Fitehirizana azo scalable tsy misy tahotra ny fanjakana ifampizarana miovaova.

Azonao atao avy eo ny mampiasa ny fanodinana stream stateful mba hanampiana fitaovana angon-drakitra declarative amin'ny serivisy mandany. Hevitra tena manan-danja izany. Raha voatahiry amin'ny stream ifampizarana azon'ny serivisy rehetra idirana ny angona, dia mitokana ny fanangonana sy fanodinana ataon'ilay serivisy. Izy ireo dia mahita ny tenany mitoka-monina ao anatin'ny toe-javatra voafetra.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy
Esory ny dichotomy angon-drakitra amin'ny fanasarahana ny renirano fanjakana tsy miova. Avy eo ampio ity fampiasa ity amin'ny serivisy rehetra mampiasa ny Stateful Stream Processing.

Noho izany, raha mila miasa miaraka amin'ny baiko, katalaogin'ny vokatra, trano fanatobiana entana ny serivisyo, dia hanana fidirana feno izy: ianao ihany no hanapa-kevitra hoe inona no angon-drakitra hatambatra, aiza no hikarakarana azy ary ahoana no tokony hiovany rehefa mandeha ny fotoana. Na dia eo aza ny zava-misy fa ny angon-drakitra nozaraina, ny fiaraha-miasa miaraka amin'izany dia mitsinjo tanteraka. Izy io dia novokarina tao anatin'ny serivisy tsirairay, ao amin'ny tontolo izay mandeha araka ny fitsipikao ny zava-drehetra.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy
MizarΓ  angona nefa tsy mampandefitra ny fahamarinany. Ampifanaraho ny fiasa fa tsy ny loharano, amin'ny serivisy rehetra mila izany.

Mitranga izany fa mila afindra faobe ny angon-drakitra. Indraindray ny serivisy dia mitaky angona ara-tantara eo an-toerana ao amin'ny motera angona voafantina. Ny hafetsena dia azonao atao ny miantoka fa, raha ilaina, dia azo averina avy amin'ny loharano ny kopia iray amin'ny alΓ lan'ny fidirana amin'ny mekanika fanoratana voazara. Ny mpampitohy ao Kafka dia manao asa lehibe amin'izany.

Noho izany, ny fomba noresahina androany dia manana tombony maro:

  • Ny angon-drakitra dia ampiasaina amin'ny endrika stream mahazatra, izay azo tehirizina ao anaty logs mandritra ny fotoana maharitra, ary ny rafitra miasa amin'ny angon-drakitra mahazatra dia raikitra amin'ny sehatra tsirairay, izay ahafahan'ny serivisy miasa mora sy haingana. Amin'izany fomba izany, ny dichotomy amin'ny angona dia azo mandanjalanja.
  • Ny angon-drakitra avy amin'ny serivisy samihafa dia azo atambatra mora foana amin'ny andiany. Manamora ny fifaneraserana amin'ny angon-drakitra zaraina izany ary manafoana ny filΓ na ny fitazonana ny angona eo an-toerana ao anaty angon-drakitra.
  • Stateful Stream Processing ihany no cache ny angon-drakitra, ary ny loharanon'ny fahamarinana dia mijanona ho lozisialy amin'ny ankapobeny, noho izany ny olan'ny kolikoly data rehefa mandeha ny fotoana dia tsy dia mafy loatra.
  • Amin'ny fototr'izy ireo, ny serivisy dia mifototra amin'ny angon-drakitra, midika izany fa na dia eo aza ny fitomboan'ny angon-drakitra dia mbola afaka mamaly haingana ny hetsika ara-barotra ny serivisy.
  • Ny olana momba ny scalability dia mianjera amin'ny broker, fa tsy ny serivisy. Izany dia mampihena be ny fahasarotan'ny asa fanoratana, satria tsy ilaina ny mieritreritra momba ny scalability.
  • Ny fampidirana tolotra vaovao dia tsy mitaky fanovana ny taloha, noho izany dia lasa mora kokoa ny fampifandraisana tolotra vaovao.

Araka ny hitanao dia mihoatra noho ny FITSAHARANA fotsiny izany. Nahazo andiana fitaovana ahafahanao miasa amin'ny angon-drakitra zaraina amin'ny fomba fitsinjaram-pahefana.

Tsy ny lafin-javatra rehetra no voaresaka ato amin’ity lahatsoratra anio ity. Mbola mila mandinika ny fomba handanjalanjana ny paradigma valin'ny fangatahana sy ny paradigma entin'ny hetsika isika. Mbola hiatrika izany anefa isika amin’ny manaraka. Misy lohahevitra tokony ho fantatrao tsara kokoa, ohatra hoe maninona ny Stateful Stream Processing no tena tsara. Hiresaka momba izany isika ao amin’ny lahatsoratra fahatelo. Ary misy fanorenana matanjaka hafa azontsika araraotina raha mampiasa azy ireny isika, ohatra, Indray mandeha mihitsy. Izy io dia mpanova lalao ho an'ny rafitra fandraharahana zaraina satria manome antoka ho an'ny transactional XA amin'ny endrika scalable. Hodinihina ao amin’ny lahatsoratra fahefatra izany. Farany, mila mandinika ny antsipirian'ny fampiharana ireo fitsipika ireo isika.

Ny dichotomy data: famerenana ny fifandraisana misy eo amin'ny data sy ny serivisy

Fa amin'izao fotoana izao, tadidio fotsiny izao: ny dichotomy data dia hery atrehintsika rehefa manangana serivisy fandraharahana. Ary tsy maintsy tsaroantsika izany. Ny hafetsena dia ny manodina ny zava-drehetra amin'ny lohany ary manomboka mitantana ny angon-drakitra nozaraina ho zavatra kilasy voalohany. Ny Stateful Stream Processing dia manome marimaritra iraisana amin'izany. Izy io dia misoroka ny "Komponin'Andriamanitra" afovoany izay manakana ny fandrosoana. Ankoatr'izay, miantoka ny fahaiza-manaony, ny scalability ary ny faharetan'ny fantsona fandefasana data ary manampy azy ireo amin'ny serivisy rehetra. Noho izany, afaka mifantoka amin'ny onjam-pahatsiarovana ankapobeny izay ahafahan'ny serivisy mifandray sy miasa miaraka amin'ny angon-drakitra ao aminy isika. Izany dia mahatonga ny serivisy ho azo scalable, azo ovaina ary tsy miankina. Noho izany dia tsy hijery tsara amin'ny solaitrabe sy ny fitsapana hypothesis fotsiny izy ireo, fa hiasa sy hivoatra mandritra ny am-polony taona maro ihany koa.

Mianara bebe kokoa momba ny fianarana.

Source: www.habr.com

Add a comment