Salama daholo! Manana vaovao tsara izahay, manomboka ny OTUS indray amin'ny volana Jona
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.
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.
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.
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.
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 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 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.
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.
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
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 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.
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 (
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.
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:
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 fampiasana mekanisma firaketana voazara dia ahafahantsika manaraka ny lalana efa voahitsakitsaka ary mampiasa hafatra hiarahana miasa
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.
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.
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,
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.
Source: www.habr.com