Mapangidwe abwino a zomangamanga

Pa Habr!

Potengera zomwe zachitika chifukwa cha coronavirus, ntchito zingapo za intaneti zayamba kulandira kuchuluka. Mwachitsanzo, Imodzi mwamaunyolo ogulitsa ku UK idangoyimitsa malo ake oyitanitsa pa intaneti., chifukwa panalibe mphamvu zokwanira. Ndipo sizotheka nthawi zonse kufulumizitsa seva pongowonjezera zida zamphamvu, koma zopempha zamakasitomala ziyenera kukonzedwa (kapena adzapita kwa opikisana nawo).

M'nkhaniyi ndilankhula mwachidule za machitidwe otchuka omwe angakuthandizeni kupanga ntchito yofulumira komanso yolekerera zolakwika. Komabe, kuchokera kuzinthu zachitukuko zomwe zingatheke, ndinasankha okhawo omwe ali pano yosavuta kugwiritsa ntchito. Pachinthu chilichonse, muli ndi malaibulale okonzeka, kapena muli ndi mwayi wothetsa vutoli pogwiritsa ntchito nsanja yamtambo.

Kukula kopingasa

Mfundo yosavuta komanso yodziwika bwino. MwachizoloΕ΅ezi, njira ziwiri zogawa katundu zomwe zimafala kwambiri zimakhala zopingasa komanso zoyima. Choyamba mumalola mautumiki kuti aziyendera limodzi, potero amagawa katundu pakati pawo. Pachiwiri mumayitanitsa ma seva amphamvu kwambiri kapena kukhathamiritsa ma code.

Mwachitsanzo, nditenga kusungirako mafayilo amtambo, ndiko kuti, analogue ya OwnCloud, OneDrive, ndi zina zotero.

Chithunzi chokhazikika cha dera lotereli chili pansipa, koma chimangowonetsa zovuta za dongosololi. Kupatula apo, tiyenera mwanjira ina synchronize misonkhano. Kodi chimachitika ndi chiyani ngati wogwiritsa ntchito asunga fayilo pa piritsi ndiyeno akufuna kuti awone kuchokera pafoni?

Mapangidwe abwino a zomangamanga
Kusiyanitsa pakati pa njirazi: pakukweza kowongoka, ndife okonzeka kuwonjezera mphamvu ya node, ndipo muzitsulo zopingasa, ndife okonzeka kuwonjezera ma node atsopano kuti tigawire katunduyo.

Mtengo wa CQRS

Kugawikana kwa Udindo wa Command Query Njira yofunika kwambiri, chifukwa imalola makasitomala osiyanasiyana kuti asamangolumikizana ndi mautumiki osiyanasiyana, komanso kuti alandire zochitika zomwezo. Zopindulitsa zake sizowoneka bwino pakugwiritsa ntchito kosavuta, koma ndizofunikira kwambiri (komanso zosavuta) pa ntchito yotanganidwa. Zofunikira zake: mayendedwe obwera ndi otuluka asamadutse. Ndiko kuti, simungatumize pempho ndikuyembekezera kuyankha; m'malo mwake, mumatumiza pempho ku service A, koma kulandira yankho kuchokera ku service B.

Bhonasi yoyamba ya njirayi ndikutha kuthyola kulumikizana (m'lingaliro lalikulu la mawu) pamene mukuchita pempho lalitali. Mwachitsanzo, tiyeni titenge ndondomeko yochulukira kapena yocheperapo:

  1. Wothandizira adatumiza pempho kwa seva.
  2. Seva idayamba nthawi yayitali yokonza.
  3. Seva idayankha kasitomala ndi chotsatira.

Tiyeni tiyerekeze kuti mu mfundo 2 kugwirizana kunasweka (kapena maukonde alumikizidwanso, kapena wosuta anapita ku tsamba lina, kuswa kugwirizana). Pankhaniyi, zidzakhala zovuta kuti seva itumize yankho kwa wogwiritsa ntchito ndi chidziwitso cha zomwe zidakonzedwa. Pogwiritsa ntchito CQRS, kutsatizana kwake kudzakhala kosiyana pang'ono:

  1. Makasitomala adalembetsa kuti azisinthidwa.
  2. Wothandizira adatumiza pempho kwa seva.
  3. Seva yayankha "pempho lavomerezedwa."
  4. Seva idayankha ndi chotsatira kudzera panjira kuchokera pa "1".

Mapangidwe abwino a zomangamanga

Monga mukuonera, ndondomekoyi ndi yovuta kwambiri. Komanso, njira yofunsira-yankhidwa mwachilengedwe ikusowa pano. Komabe, monga mukuwonera, kutha kwa kulumikizana pomwe mukukonza pempho sikubweretsa cholakwika. Komanso, ngati wogwiritsa ntchitoyo alumikizidwa ndi ntchitoyi kuchokera pazida zingapo (mwachitsanzo, kuchokera pa foni yam'manja ndi piritsi), mutha kutsimikiza kuti yankho limabwera pazida zonse ziwiri.

Chochititsa chidwi n'chakuti, ndondomeko yokonza mauthenga obwera imakhala yofanana (osati 100%) pazochitika zomwe zinakhudzidwa ndi kasitomala mwiniyo, komanso zochitika zina, kuphatikizapo za makasitomala ena.

Komabe, kwenikweni timapeza bonasi yowonjezera chifukwa chakuti kuyenda kwa unidirectional kumatha kuyendetsedwa mumayendedwe ogwira ntchito (pogwiritsa ntchito RX ndi zofanana). Ndipo izi ndizowonjezera kale, chifukwa kwenikweni ntchitoyo imatha kukhala yotakataka, komanso kugwiritsa ntchito njira yogwira ntchito. Kwa mapulogalamu amafuta, izi zitha kupulumutsa kwambiri chitukuko ndi zothandizira zothandizira.

Ngati tiphatikiza njirayi ndi makulitsidwe opingasa, ndiye kuti ngati bonasi timatha kutumiza zopempha ku seva imodzi ndikulandila mayankho kuchokera kwa wina. Chifukwa chake, kasitomala amatha kusankha ntchito yomwe ili yabwino kwa iye, ndipo dongosolo lamkati limathabe kukonza zochitika moyenera.

Kupeza Zochitika

Monga mukudziwira, chimodzi mwazinthu zazikulu za dongosolo logawidwa ndi kusowa kwa nthawi wamba, gawo lovuta kwambiri. Panjira imodzi, mutha kugwirizanitsa (pa mutexes yemweyo), momwe muli otsimikiza kuti palibe wina aliyense amene akuchita izi. Komabe, izi ndizowopsa pamakina ogawidwa, chifukwa zimafunikira kupitilira apo, komanso kupha kukongola konse kwa makulitsidwe - zigawo zonse zidzadikirirabe imodzi.

Kuchokera apa timapeza mfundo yofunikira - dongosolo logawidwa mofulumira silingagwirizane, chifukwa ndiye tidzachepetsa ntchito. Kumbali inayi, nthawi zambiri timafunikira kugwirizana pakati pa zigawo. Ndipo kwa izi mutha kugwiritsa ntchito njira ndi kukhazikika komaliza, kumene zimatsimikiziridwa kuti ngati palibe kusintha kwa deta kwa nthawi ina pambuyo pa kusinthidwa komaliza ("potsirizira pake"), mafunso onse adzabwezera mtengo wotsiriza wosinthidwa.

Ndikofunikira kumvetsetsa kuti ma database apamwamba amagwiritsidwa ntchito nthawi zambiri kugwirizana mwamphamvu, pomwe node iliyonse ili ndi chidziwitso chofanana (izi nthawi zambiri zimatheka pamene ntchitoyo imaganiziridwa kuti inakhazikitsidwa pokhapokha seva yachiwiri iyankha). Pali zopumula pano chifukwa cha kudzipatula, koma lingaliro lambiri limakhalabe lomwelo - mutha kukhala m'dziko logwirizana kwathunthu.

Komabe, tiyeni tibwerere ku ntchito yoyambirira. Ngati gawo la dongosolo lingamangidwe ndi kukhazikika komaliza, ndiye tikhoza kupanga chithunzi chotsatirachi.

Mapangidwe abwino a zomangamanga

Zofunikira za njirayi:

  • Pempho lililonse lomwe likubwera limayikidwa pamzere umodzi.
  • Pamene mukukonza zopempha, ntchitoyo imathanso kuyika ntchito pamizere ina.
  • Chochitika chilichonse chomwe chikubwera chimakhala ndi chizindikiritso (chomwe chili chofunikira pakuchotsa).
  • Mzerewu umagwira ntchito molingana ndi dongosolo la "append only". Simungathe kuchotsa zinthu kapena kuzisinthanso.
  • Mzerewu umagwira ntchito molingana ndi dongosolo la FIFO (pepani chifukwa cha tautology). Ngati mukufuna kuchita zofanana, ndiye kuti nthawi ina muyenera kusuntha zinthu pamizere yosiyanasiyana.

Ndiroleni ndikukumbutseni kuti tikuganizira nkhani yosungira mafayilo pa intaneti. Pankhaniyi, ndondomekoyi idzawoneka motere:

Mapangidwe abwino a zomangamanga

Ndikofunika kuti mautumiki omwe ali pachithunzichi asatanthauze seva yosiyana. Ngakhale ndondomeko ikhoza kukhala yofanana. Chinthu chinanso ndi chofunikira: mwamalingaliro, zinthu izi zimalekanitsidwa kotero kuti makulitsidwe opingasa angagwiritsidwe ntchito mosavuta.

Ndipo kwa ogwiritsa ntchito awiri chithunzicho chidzawoneka chonchi (ntchito zopangira ogwiritsa ntchito osiyanasiyana zimawonetsedwa mumitundu yosiyanasiyana):

Mapangidwe abwino a zomangamanga

Mabonasi kuchokera kuphatikiza kotere:

  • Ntchito zopangira zidziwitso zimasiyanitsidwa. Mizere nayonso yalekanitsidwa. Ngati tikufunika kuwonjezera kutulutsa kwadongosolo, ndiye kuti timangofunika kuyambitsa mautumiki ambiri pa seva zambiri.
  • Tikalandira zambiri kuchokera kwa wogwiritsa ntchito, sitiyenera kudikirira mpaka deta itasungidwa kwathunthu. M'malo mwake, timangofunika kuyankha "chabwino" ndiyeno pang'onopang'ono tiyambe kugwira ntchito. Panthawi imodzimodziyo, mzerewo umatulutsa nsonga, popeza kuwonjezera chinthu chatsopano kumachitika mofulumira, ndipo wogwiritsa ntchito sayenera kudikirira kudutsa kwathunthu kuzungulira kuzungulira.
  • Mwachitsanzo, ndinawonjezera ntchito yochotsamo yomwe imayesa kuphatikiza mafayilo ofanana. Ngati imagwira ntchito kwa nthawi yayitali mu 1% ya milandu, kasitomala sangazindikire (onani pamwambapa), chomwe ndi chophatikiza chachikulu, popeza sitikufunikanso kukhala XNUMX% liwiro komanso odalirika.

Komabe, zovuta zake zimawonekera nthawi yomweyo:

  • Dongosolo lathu lataya kusakhazikika kwake. Izi zikutanthauza kuti ngati, mwachitsanzo, mumalembetsa ku mautumiki osiyanasiyana, ndiye kuti mutha kupeza dziko lina (popeza imodzi mwa mautumikiwa sangakhale ndi nthawi yolandira chidziwitso kuchokera pamzere wamkati). Monga chotsatira china, dongosololi tsopano lilibe nthawi yofanana. Ndiye kuti, ndizosatheka, mwachitsanzo, kukonza zochitika zonse pongofika nthawi, popeza mawotchi pakati pa ma seva sangakhale ofanana (kuphatikizanso, nthawi yomweyo pa ma seva awiri ndi utopia).
  • Palibe zochitika zomwe zitha kubwezeredwa m'mbuyo (monga momwe zingathere ndi database). M'malo mwake, muyenera kuwonjezera chochitika chatsopano - chochitika chamalipiro, zomwe zidzasintha dziko lomaliza kukhala lofunikira. Monga chitsanzo kuchokera kudera lofananira: popanda kulembanso mbiri (yomwe ili yoyipa nthawi zina), simungathe kubweza zomwe mwapanga mu git, koma mutha kupanga chapadera. kubweza ngongole, zomwe kwenikweni zimangobwezeretsa mkhalidwe wakale. Komabe, zonse zomwe zidalakwika komanso kubweza zikhalabe m'mbiri.
  • Dongosolo la data lingasinthe kuchokera kumasulidwa kupita kumasulidwa, koma zochitika zakale sizidzatha kusinthidwa kukhala mulingo watsopano (popeza zochitika sizingasinthidwe mwalamulo).

Monga mukuwonera, Event Sourcing imagwira ntchito bwino ndi CQRS. Kuphatikiza apo, kukhazikitsa dongosolo lokhala ndi mizere yabwino komanso yosavuta, koma popanda kulekanitsa kusuntha kwa data, ndikovuta kale pakokha, chifukwa muyenera kuwonjezera mfundo zolumikizirana zomwe zingachepetse zotsatira zabwino za mizere. Kugwiritsa ntchito njira zonse ziwiri nthawi imodzi, ndikofunikira kusintha kachidindo ka pulogalamuyo. Kwa ife, potumiza fayilo ku seva, yankho limabwera kokha "chabwino", zomwe zikutanthauza kuti "ntchito yowonjezera fayilo idapulumutsidwa." Mwamwayi, izi sizikutanthauza kuti deta ilipo kale pazida zina (mwachitsanzo, ntchito yochotsamo imatha kumanganso index). Komabe, pakapita nthawi, kasitomala adzalandira zidziwitso mumayendedwe a "fayilo X yasungidwa."

Zotsatira zake:

  • Chiwerengero cha mafayilo otumizira chikuwonjezeka: m'malo mwa "fayilo yotumizidwa," timapeza ziwiri: "fayilo yawonjezedwa pamzere pa seva" ndipo "fayilo yasungidwa posungira." Izi zikutanthauza kuti zida zina zitha kuyamba kale kulandira fayilo (zosinthidwa chifukwa mizere imagwira ntchito mosiyanasiyana).
  • Chifukwa chakuti chidziwitso chotumizira tsopano chimabwera kudzera munjira zosiyanasiyana, tikuyenera kubwera ndi mayankho kuti tilandire momwe fayiloyo ikuyendera. Chifukwa cha izi: mosiyana ndi kuyankha kwachikale, kasitomala akhoza kuyambiranso pamene akukonza fayilo, koma momwe ntchitoyi ikuyendera idzakhala yolondola. Komanso, chinthu ichi chimagwira ntchito, makamaka, kunja kwa bokosi. Zotsatira zake: tsopano tikulolera zolephera.

Kuchititsa manyazi

Monga tafotokozera pamwambapa, njira zopezera zochitika sizikhala zogwirizana. Izi zikutanthauza kuti titha kugwiritsa ntchito zosungira zingapo popanda kulunzanitsa pakati pawo. Kufikira pamavuto athu, titha:

  • Alekanitse mafayilo ndi mtundu. Mwachitsanzo, zithunzi/mavidiyo akhoza decoded ndi bwino bwino mtundu akhoza kusankhidwa.
  • Siyanitsani maakaunti ndi dziko. Chifukwa cha malamulo ambiri, izi zingafunike, koma dongosolo la zomangamanga limapereka mwayi woterowo

Mapangidwe abwino a zomangamanga

Ngati mukufuna kusamutsa deta kuchokera yosungirako wina kupita kwina, ndiye muyezo njira salinso zokwanira. Tsoka ilo, mu nkhani iyi, muyenera kuyimitsa pamzere, kuchita kusamuka, ndiyeno kuyamba. Nthawi zambiri, deta siyingasamutsidwe "pa ntchentche", komabe, ngati mzere wa zochitikazo wasungidwa kwathunthu, ndipo muli ndi zithunzithunzi za malo osungirako zakale, ndiye kuti tikhoza kubwereza zochitikazo motere:

  • Mu Chochitika Chochitika, chochitika chilichonse chimakhala ndi chizindikiritso chake (chabwino, chosachepera). Izi zikutanthauza kuti titha kuwonjezera gawo posungira - id ya chinthu chomaliza chomwe chakonzedwa.
  • Timabwereza mzerewu kuti zochitika zonse zitha kukonzedwa pazosungira zingapo zodziyimira pawokha (yoyamba ndi yomwe deta idasungidwa kale, ndipo yachiwiri ndi yatsopano, koma yopanda kanthu). Mzere wachiwiri, ndithudi, sunakonzedwe panobe.
  • Timakhazikitsa mzere wachiwiri (ndiko kuti, timayambanso kubwereza zochitika).
  • Mzere watsopano ukakhala wopanda kanthu (ndiko kuti, kusiyana kwa nthawi pakati pa kuwonjezera chinthu ndikuchipeza ndikovomerezeka), mutha kuyamba kusintha owerenga kumalo osungira atsopano.

Monga mukuonera, tinalibe, ndipo tiribe, kusasinthasintha kokhazikika mu dongosolo lathu. Pali kukhazikika kokhazikika, ndiko kuti, chitsimikizo chakuti zochitika zimakonzedwa mwanjira yomweyo (koma mwina ndi kuchedwa kosiyana). Ndipo, pogwiritsa ntchito izi, titha kusamutsa deta mosavuta popanda kuyimitsa makinawo kupita mbali ina ya dziko lapansi.

Chifukwa chake, kupitiliza chitsanzo chathu chosungira mafayilo pa intaneti, zomanga zotere zimatipatsa kale mabonasi angapo:

  • Titha kusuntha zinthu pafupi ndi ogwiritsa ntchito mwanjira yamphamvu. Mwanjira iyi mutha kukweza mautumiki.
  • Tikhoza kusunga zina m'makampani. Mwachitsanzo, ogwiritsa ntchito Enterprise nthawi zambiri amafuna kuti deta yawo isungidwe m'malo otetezedwa (kupewa kutayikira kwa data). Kupyolera mu kugawa titha kuthandizira izi mosavuta. Ndipo ntchitoyi ndi yosavuta ngati kasitomala ali ndi mtambo wogwirizana (mwachitsanzo, Azure self host).
  • Ndipo chofunikira kwambiri ndikuti sitiyenera kuchita izi. Kupatula apo, poyambira, tingakhale okondwa kwambiri ndi chosungira chimodzi cha maakaunti onse (kuti tiyambe kugwira ntchito mwachangu). Ndipo chofunika kwambiri cha dongosololi ndi chakuti ngakhale kuti ndi yowonjezera, pa gawo loyamba ndi losavuta. Simufunikanso kulemba nambala yomwe imagwira ntchito ndi mizere yodziyimira payokha miliyoni, ndi zina. Ngati ndi kotheka, izi zikhoza kuchitika m'tsogolomu.

Static Content Hosting

Mfundo iyi ikhoza kuwoneka ngati yodziwikiratu, koma ndiyofunikirabe kuti pakhale pulogalamu yodzaza kwambiri. Chofunikira chake ndi chosavuta: zonse zomwe zili zokhazikika zimagawidwa osati kuchokera ku seva yomweyo komwe ntchitoyo ili, koma kuchokera kwapadera odzipereka ku ntchitoyi. Zotsatira zake, izi zimachitika mwachangu (zoyenera nginx zimatumizira mafayilo mwachangu komanso motsika mtengo kuposa seva ya Java). + Zomangamanga za CDN (Chiyanjano Chothandizira) imatilola kuti tipeze mafayilo athu pafupi ndi ogwiritsa ntchito, zomwe zimakhala ndi zotsatira zabwino pakugwira ntchito ndi ntchitoyi.

Chitsanzo chosavuta komanso chodziwika bwino chazomwe zili zokhazikika ndi zolemba ndi zithunzi za tsamba. Chilichonse chiri chophweka ndi iwo - amadziwika pasadakhale, ndiye zosungirako zimayikidwa ku ma seva a CDN, kuchokera kumene amagawidwa kwa ogwiritsa ntchito mapeto.

Komabe, zenizeni, pazokhazikika, mutha kugwiritsa ntchito njira yofananira ndi kamangidwe ka lambda. Tiyeni tibwerere ku ntchito yathu (kusungira mafayilo pa intaneti), momwe tiyenera kugawira mafayilo kwa ogwiritsa ntchito. Njira yosavuta ndiyo kupanga ntchito yomwe, pa pempho lililonse la wogwiritsa ntchito, imayang'ana zofunikira zonse (chilolezo, ndi zina zotero), ndikutsitsa fayilo mwachindunji kuchokera kusungirako kwathu. Choyipa chachikulu cha njirayi ndikuti zinthu zokhazikika (ndi fayilo yokhala ndi kusinthidwa kwina, kwenikweni, zokhazikika) zimagawidwa ndi seva yomweyo yomwe ili ndi malingaliro abizinesi. M'malo mwake, mutha kupanga chithunzi chotsatirachi:

  • Seva imapereka ulalo wotsitsa. Itha kukhala ya fomu file_id + kiyi, pomwe kiyi ndi siginecha yaying'ono ya digito yomwe imapereka ufulu wopeza gwero kwa maola 24 otsatira.
  • Fayilo imagawidwa ndi nginx yosavuta ndi izi:
    • Content caching. Popeza ntchitoyi imatha kupezeka pa seva yosiyana, tadzisiyira tokha nkhokwe yamtsogolo ndikutha kusunga mafayilo onse aposachedwa kwambiri pa disk.
    • Kuyang'ana kiyi pa nthawi yopanga kugwirizana
  • Mwachidziwitso: kukhamukira zokhutira. Mwachitsanzo, ngati tikakamiza mafayilo onse muutumiki, ndiye kuti titha kumasula molunjika mugawoli. Zotsatira zake: Opaleshoni za IO zimachitika pomwe zikuyenera. Wosunga zakale ku Java atha kugawa zokumbukira zambiri, koma kulemberanso ntchito yokhala ndi malingaliro abizinesi mu Rust/C ++ zikhalidwe sikungakhale kothandiza. Kwa ife, njira zosiyanasiyana (kapena ntchito) zimagwiritsidwa ntchito, chifukwa chake titha kulekanitsa malingaliro abizinesi ndi magwiridwe antchito a IO.

Mapangidwe abwino a zomangamanga

Chiwembuchi sichili chofanana kwambiri ndi kugawa zomwe zili zokhazikika (popeza sitimayimitsa phukusi lonse lokhazikika kwinakwake), koma zenizeni, njirayi ikukhudza ndendende kugawa deta yosasinthika. Kuphatikiza apo, chiwembuchi chikhoza kuphatikizidwa kuzinthu zina zomwe zomwe zili sizingokhala zokhazikika, koma zitha kuyimiridwa ngati midadada yosasinthika komanso yosachotsedwa (ngakhale imatha kuwonjezeredwa).

Monga chitsanzo china (cholimbikitsa): ngati mwagwira ntchito ndi Jenkins / TeamCity, ndiye kuti mukudziwa kuti mayankho onsewa alembedwa ku Java. Onsewa ndi njira ya Java yomwe imagwira ntchito zonse zomanga ndi kasamalidwe kazinthu. Makamaka, onsewa ali ndi ntchito monga "kusamutsa fayilo / chikwatu kuchokera pa seva." Mwachitsanzo: kupereka zinthu zakale, kusamutsa kachidindo (pamene wothandizira sakutsitsa kachidindo mwachindunji kuchokera kumalo osungirako, koma seva imamuchitira izo), kupeza zipika. Ntchito zonsezi zimasiyana ndi katundu wawo wa IO. Ndiye kuti, zikuwoneka kuti seva yomwe imayang'anira malingaliro ovuta abizinesi iyenera nthawi yomweyo kuti izitha kukankhira bwino ma data ambiri kudzera pawokha. Ndipo chochititsa chidwi kwambiri ndi chakuti ntchito yotereyi ikhoza kuperekedwa ku nginx yomweyo molingana ndi ndondomeko yomweyi (kupatula kuti chinsinsi cha deta chiyenera kuwonjezeredwa ku pempho).

Komabe, ngati tibwerera ku dongosolo lathu, timapeza chithunzi chofananira:

Mapangidwe abwino a zomangamanga

Monga mukuwonera, dongosololi lakhala lovuta kwambiri. Tsopano sikuti ndi njira yaying'ono yomwe imasunga mafayilo kwanuko. Tsopano chomwe chikufunika sichiri chosavuta chothandizira, kuwongolera mtundu wa API, ndi zina. Choncho, zithunzi zonse zitajambulidwa, ndi bwino kufufuza mwatsatanetsatane ngati kuwonjezereka kuli koyenera. Komabe, ngati mukufuna kukulitsa dongosolo (kuphatikiza kugwira ntchito ndi ogwiritsa ntchito ochulukirapo), ndiye kuti muyenera kupeza mayankho omwewo. Koma, chifukwa chake, dongosololi ndi lokonzekera mwadongosolo kuti liwonjezeke katundu (pafupifupi chigawo chilichonse chikhoza kupangidwa kuti chiwonjezeke chopingasa). Dongosolo litha kusinthidwa popanda kuyimitsa (kungoti ntchito zina zitha kuchepetsedwa pang'ono).

Monga ndidanenera poyamba, ntchito zingapo zapaintaneti zayamba kuwonjezereka. Ndipo ena a iwo anangoyamba kusiya kugwira ntchito moyenera. M'malo mwake, machitidwewo adalephera ndendende panthawi yomwe bizinesiyo idayenera kupanga ndalama. Ndiye kuti, m'malo mochedwetsa kubweretsa, m'malo mopereka malingaliro kwa makasitomala "konzekerani kubweretsa kwanu miyezi ikubwerayi," dongosololi linangoti "pitani kwa omwe akupikisana nawo." M'malo mwake, uwu ndi mtengo wa zokolola zochepa: zotayika zidzachitika ndendende pomwe phindu lingakhale lalitali.

Pomaliza

Njira zonsezi zidadziwika kale. VK yomweyo yakhala ikugwiritsa ntchito lingaliro la Static Content Hosting kuwonetsa zithunzi. Masewera ambiri a pa intaneti amagwiritsa ntchito Sharding scheme kugawa osewera m'magawo kapena kusiyanitsa malo amasewera (ngati dziko lokha ndi limodzi). Njira Yopezera Zochitika imagwiritsidwa ntchito mwachangu mu imelo. Ntchito zambiri zamalonda zomwe zimalandiridwa nthawi zonse zimamangidwa pa njira ya CQRS kuti athe kusefa zomwe zalandilidwa. Chabwino, kukweza kopingasa kwagwiritsidwa ntchito m'mautumiki ambiri kwa nthawi yayitali.

Komabe, chofunika kwambiri, machitidwe onsewa akhala osavuta kugwiritsa ntchito masiku ano (ngati ali oyenera, ndithudi). Mitambo imapereka Sharding ndi makulitsidwe opingasa nthawi yomweyo, zomwe ndizosavuta kuposa kuyitanitsa ma seva odzipatulira osiyanasiyana m'malo osiyanasiyana a data nokha. CQRS yakhala yophweka kwambiri, pokhapokha chifukwa cha chitukuko cha malaibulale monga RX. Pafupifupi zaka 10 zapitazo, tsamba losowa limatha kuthandizira izi. Event Sourcing ndiyosavuta kwambiri kukhazikitsa chifukwa cha zotengera zopangidwa kale ndi Apache Kafka. Zaka 10 zapitazo izi zikadakhala zatsopano, tsopano ndizofala. N'chimodzimodzinso ndi Static Content Hosting: chifukwa cha matekinoloje osavuta (kuphatikizapo mfundo yakuti pali zolemba zambiri komanso mndandanda waukulu wa mayankho), njirayi yakhala yosavuta.

Zotsatira zake, kukhazikitsidwa kwa njira zingapo zomangira zovuta tsopano kwakhala kosavuta, zomwe zikutanthauza kuti ndi bwino kuziyang'anira pasadakhale. Ngati mu ntchito ya zaka khumi imodzi mwa njira zomwe zili pamwambazi zidasiyidwa chifukwa cha kukwera mtengo kwa kukhazikitsa ndi kugwiritsira ntchito, tsopano, mu ntchito yatsopano, kapena pambuyo pokonzanso, mukhoza kupanga ntchito yomwe idzakhala yowonjezereka ( malinga ndi magwiridwe antchito) ndikukonzekera zopempha zatsopano kuchokera kwa makasitomala (mwachitsanzo, kuyika zambiri zaumwini).

Ndipo chofunika kwambiri: chonde musagwiritse ntchito njirazi ngati muli ndi pulogalamu yosavuta. Inde, iwo ndi okongola komanso osangalatsa, koma kwa malo omwe ali ndi maulendo apamwamba a anthu 100, nthawi zambiri mumatha kudutsa ndi monolith yachikale (osachepera kunja, chirichonse mkati chikhoza kugawidwa mu ma modules, etc.).

Source: www.habr.com

Kuwonjezera ndemanga