Monga mukuonera, mfundozi sizimayika malamulo enieni, koma zimakhala m'gulu la zomwe zimatchedwa kulingalira kwanzeru kutengera zochitika zenizeni, zomwe zimagawidwa ndi ambiri opanga komanso omwe amawatchula nthawi zonse.
Komanso, pali OLIMBITSA - Mndandanda wa mfundo zisanu zoyambirira za mapulogalamu ndi mapangidwe opangidwa ndi chinthu, opangidwa ndi Robert Martin. SOLID imaphatikizapo mfundo zazikulu, zotseguka, zowonjezera zomwe - zikagwiritsidwa ntchito pamodzi - zimathandiza kupanga mapulogalamu abwino a mapulogalamu ndi kuwasunga bwino pakapita nthawi.
Mfundo za SOLID ndi za gawo la OOP ndipo zimapangidwa m'chilankhulo cha malingaliro ndi malingaliro monga makalasi, malo olumikizirana ndi cholowa. Mwa fanizo, mfundo zachitukuko zitha kupangidwanso kuti zigwiritsidwe ntchito pamtambo, zinthu zoyambira pano sizikhala kalasi, koma chidebe. Potsatira mfundozi, mutha kupanga mapulogalamu omwe ali ndi zida zomwe zimakwaniritsa zolinga ndi zolinga zamapulatifomu amtambo ngati Kubernetes.
Zotengera zamtambo: njira ya Red Hat
Masiku ano, pafupifupi pulogalamu iliyonse imatha kupakidwa mosavuta muzotengera. Koma kuti mapulogalamu azingodzipanga okha komanso opangidwa bwino pamtambo ngati Kubernetes, kuyesetsa kowonjezera kumafunika.
Maziko a malingaliro omwe afotokozedwa pansipa anali njira The Twelve-Factor App ndi ntchito zina zambiri pazinthu zosiyanasiyana zomanga mapulogalamu a pa intaneti, kuyambira kasamalidwe ka ma code source kupita ku ma scaling model. Mfundo zomwe zafotokozedwazi zimagwira ntchito pakupanga mapulogalamu omwe amapangidwa pamwamba pa ma microservices ndipo amapangidwira nsanja zamtambo monga Kubernetes. Chofunikira pakukambirana kwathu ndi chithunzi cha chidebe, ndipo nthawi yomwe chidebe chomwe mukufuna kuthamangira ndi nsanja yoyimba zotengera. Cholinga cha mfundo zomwe zaperekedwa ndi kupanga zotengera zomwe zokonzera, makulitsidwe, ndi kuyang'anira ntchito zitha kukhala zokha pamapulatifomu ambiri a orchestration. Mfundozi sizimaperekedwa mwadongosolo.
Single Concern Principle (SCP)
Mfundo imeneyi ndi yofanana mβnjira zambiri ndi Mfundo ya Udindo Umodzi. SRP), yomwe ili gawo la SOLID set ndipo imanena kuti chinthu chilichonse chiyenera kukhala ndi udindo umodzi, ndipo udindowo uyenera kuphatikizidwa mu kalasi. Mfundo ya SRP ndi yakuti udindo uliwonse ndi chifukwa cha kusintha, ndipo kalasi iyenera kukhala ndi chifukwa chimodzi chokha chosinthira.
Mu SCP, timagwiritsa ntchito liwu loti "nkhawa" m'malo mwa liwu loti "udindo" kuwonetsa kuchuluka kwachidule komanso cholinga chokulirapo cha chidebe poyerekeza ndi gulu la OOP. Ndipo ngati cholinga cha SRP ndikukhala ndi chifukwa chimodzi chokha chosinthira, ndiye kuti kumbuyo kwa SCP ndi chikhumbo chokulitsa luso logwiritsanso ntchito ndikulowetsamo zotengera. Potsatira SRP ndikupanga chidebe chomwe chimathetsa vuto limodzi ndikuchichita mokwanira, mumawonjezera mwayi wogwiritsanso ntchito chithunzi cha chidebecho pamagwiritsidwe osiyanasiyana.
Ngati chidebe cha microservice chiyenera kuthetsa mavuto angapo nthawi imodzi, ndiye kuti chikhoza kugawidwa muzotengera zomwe zimagwiritsidwa ntchito kamodzi ndikuphatikizidwa mkati mwa poto imodzi (gawo la pulatifomu yotumizira) pogwiritsa ntchito ma templates a sidecar ndi init. Kuphatikiza apo, SCP imapangitsa kuti zikhale zosavuta kusintha chidebe chakale (monga seva yapaintaneti kapena meseji broker) ndi chatsopano chomwe chimathetsa vuto lomwelo koma chakulitsa magwiridwe antchito kapena masikelo bwino.
High Observability Principle (HOP)
Zotengera zikagwiritsidwa ntchito ngati njira yolumikizirana ndikuyika mapulogalamu, mapulogalamuwo amatengedwa ngati bokosi lakuda. Komabe, ngati izi ndi zida zamtambo, ndiye kuti ziyenera kupereka ma API apadera panthawi yothamanga kuti aziyang'anira thanzi lazotengerazo ndipo, ngati kuli kofunikira, chitanipo kanthu. Popanda izi, sikungatheke kugwirizanitsa makina osinthika ndikuwongolera moyo wawo, zomwe zidzakulitsa kukhazikika ndi kugwiritsidwa ntchito kwa mapulogalamu.
M'malo mwake, pulogalamu yokhala ndi ziwiya iyenera, osachepera, kukhala ndi API yamitundu yosiyanasiyana yowunika thanzi: kuyesa moyo ndi kukonzeka. Ngati pempho likunena kuti likuchita zambiri, liyenera kupereka njira zina zowunikira dziko lake. Mwachitsanzo, kudula zochitika zofunika kudzera pa STDERR ndi STDOUT pakuphatikiza zipika pogwiritsa ntchito Fluentd, Logstash ndi zida zina zofananira. Komanso kuphatikizika ndi malaibulale otolera ma metrics, monga OpenTracing, Prometheus, ndi zina.
Kawirikawiri, ntchitoyo ikhoza kuchitidwabe ngati bokosi lakuda, koma liyenera kuperekedwa ndi ma API onse omwe nsanja ikufunikira kuti iwonetsetse ndikuyendetsa bwino kwambiri.
Life-cycle Conformance Principle (LCP)
LCP ndiye kutsutsa kwa HOP. Ngakhale HOP ikunena kuti chidebecho chiyenera kuwonetsa ma API owerengera papulatifomu, LCP imafuna kuti pulogalamuyo ivomereze zambiri kuchokera papulatifomu. Komanso, chidebecho sayenera kungolandira zochitika, komanso kusintha, mwa kuyankhula kwina, kuchita nawo. Chifukwa chake dzina la mfundoyo, lomwe lingaganizidwe ngati chofunikira kuti apereke nsanja ndi ma API olembera.
Mapulatifomu ali ndi mitundu yosiyanasiyana ya zochitika zothandizira kusamalira moyo wa chidebe. Koma zili kwa ntchitoyo yokha kusankha amene angazindikire ndi momwe angachitire.
Kuphatikiza apo, zochitika monga PostStart ndi PreStop zitha kukhala zofunika pa moyo wa pulogalamuyo. Mwachitsanzo, mutatsegula pulogalamu, zingatenge nthawi yotenthetsera kuti isayankhe zopempha. Kapena pulogalamuyo iyenera kumasula zothandizira mwanjira ina yapadera ikatseka.
The Image Immutability Principle (IIP)
Ndizovomerezeka kuti mapulogalamu omwe ali m'mitsuko amayenera kukhala osasinthika atamangidwa, ngakhale atagwiritsidwa ntchito m'malo osiyanasiyana. Izi zimafuna kufunikira kwa kunja kusungirako deta panthawi yothamanga (mwa kuyankhula kwina, kugwiritsa ntchito zida zakunja za izi) ndi kudalira kunja, zosintha za nthawi yothamanga, m'malo mosintha kapena kupanga zida zapadera za chilengedwe chilichonse. Pambuyo pakusintha kulikonse pakugwiritsa ntchito, chithunzi cha chidebecho chiyenera kumangidwanso ndikutumizidwa kumadera onse omwe amagwiritsidwa ntchito. Mwa njira, poyang'anira machitidwe a IT, mfundo yofananayo imagwiritsidwa ntchito, yomwe imadziwika kuti mfundo yosasinthika ya ma seva ndi zomangamanga.
Cholinga cha IIP ndikuletsa kupangidwa kwa zithunzi zachidebe zosiyanitsidwa ndi malo osiyanasiyana othamanga komanso kugwiritsa ntchito chithunzi chomwechi kulikonse komanso kukhazikitsidwa koyenera kwa chilengedwe. Kutsatira mfundoyi kumakupatsani mwayi wogwiritsa ntchito zofunikira ngati izi potengera makina amtambo monga kubweza ndi kupititsa patsogolo zosintha zamapulogalamu.
Mfundo Yothetsera Vuto (PDP)
Chimodzi mwazinthu zofunika kwambiri za chidebe ndi ephemerality: chitsanzo cha chidebe ndi chosavuta kupanga komanso chosavuta kuwononga, kotero chikhoza kusinthidwa mosavuta ndi chochitika china nthawi iliyonse. Pakhoza kukhala zifukwa zambiri zosinthira izi: kulephera kwa kuyesa kwa ntchito, kukulitsa pulogalamuyo, kusamutsira kwa wolandila wina, kutha kwa zida zamapulatifomu, kapena zina.
Malinga ndi mfundo imeneyi, pa siteji ya msonkhano, zigawo zonse zofunika zikuphatikizidwa mu chidebe. Chidebecho chiyenera kumangidwa poganiza kuti makinawa ali ndi Linux kernel yokha, choncho malaibulale onse ofunikira ayenera kuikidwa mu chidebe chokha. Iyeneranso kukhala ndi zinthu monga nthawi yoyendetsera chiyankhulo chofananira, pulatifomu yogwiritsira ntchito (ngati kuli kofunikira), ndi zodalira zina zomwe zidzafunike pomwe pulogalamu ya chidebe ikugwira ntchito.
Kupatulako kumapangidwira masinthidwe omwe amasiyana malinga ndi chilengedwe ndipo ayenera kuperekedwa panthawi yothamanga, mwachitsanzo kudzera pa Kubernetes ConfigMap.
Ntchito ikhoza kuphatikiza zinthu zingapo zokhala ndi zotengera, mwachitsanzo, chotengera chapadera cha DBMS mkati mwa pulogalamu yapaintaneti. Malinga ndi mfundo ya S-CP, zotengerazi zisaphatikizidwe kukhala chimodzi, koma ziyenera kupangidwa kuti chidebe cha DBMS chili ndi zonse zofunika kuti mugwiritse ntchito nkhokwe, ndipo chidebe cha pulogalamu yapaintaneti chili ndi zonse zofunika pakugwiritsa ntchito intaneti. kugwiritsa ntchito, seva yapaintaneti yomweyo . Zotsatira zake, panthawi yothamanga chidebe chogwiritsira ntchito intaneti chidzadalira chidebe cha DBMS ndikuchipeza ngati chikufunikira.
Runtime Confinement Principle (RCP)
Mfundo ya S-CP imatanthawuza momwe chidebecho chiyenera kupangidwira komanso zomwe chithunzicho chiyenera kukhala nacho. Koma chidebe si "bokosi lakuda" lomwe lili ndi mawonekedwe amodzi - kukula kwa fayilo. Pakuphedwa, chidebecho chimakhala ndi miyeso ina: kuchuluka kwa kukumbukira komwe kumagwiritsidwa ntchito, nthawi ya CPU, ndi zida zina zamakina.
Ndipo apa mfundo ya RCP imabwera bwino, malinga ndi momwe chidebecho chiyenera kuchotsera zofunikira zake pazinthu zamakina ndikuwasamutsa ku nsanja. Ndi mbiri ya chidebe chilichonse (kuchuluka kwa CPU, kukumbukira, maukonde, ndi diski zotani zomwe zimafunikira), nsanja imatha kupanga ndandanda ndi autoscaling, kuyang'anira kuchuluka kwa IT, ndikusunga milingo ya SLA pazotengera.
Kuphatikiza pa kukwaniritsa zofunikira za chidebecho, ndikofunikanso kuti ntchitoyo isapitirire malire ake. Apo ayi, pamene kusowa kwazinthu kukuchitika, nsanjayo imatha kuyikapo pamndandanda wa mapulogalamu omwe akuyenera kuthetsedwa kapena kusamutsidwa.