Gine-ginen Software da Tsara Tsare-tsare: Babban Hoto da Jagorar Albarkatu

Sannu abokan aiki.

A yau muna ba ku don nazarin fassarar labarin Tugberk Ugurlu, wanda ya ɗauki nauyin zayyana a cikin ƙaramin ƙaramin ƙa'idodin ƙira tsarin software na zamani. Ga abin da marubucin ya ce game da kansa a taƙaice:

Gine-ginen Software da Tsara Tsare-tsare: Babban Hoto da Jagorar Albarkatu
Tun da yake ba shi yiwuwa a rufe a cikin labarin habro irin wannan babban jigo kamar tsarin gine-gine + ƙirar ƙira kamar na 2019, muna ba da shawarar ba kawai rubutun Mista Uruglu ba, har ma da hanyoyin haɗin gwiwa da yawa waɗanda ya haɗa su cikin alheri. Idan kuna son shi, za mu buga rubutu na musamman na musamman game da ƙirar tsarin da aka rarraba.

Gine-ginen Software da Tsara Tsare-tsare: Babban Hoto da Jagorar Albarkatu

Нимок Isaac Smith daga Unsplash

Idan baku taɓa fuskantar irin waɗannan ƙalubalen kamar zayyana tsarin software daga tushe ba, to lokacin fara irin wannan aikin, wani lokacin ma ba a san inda za ku fara ba. Na yi imani cewa da farko kuna buƙatar zana iyakoki don ku sami ƙarin ko žasa da ƙarfin gwiwa game da ainihin abin da za ku tsara, sannan ku mirgine hannayen ku kuma kuyi aiki a cikin waɗannan iyakokin. A matsayin farawa, zaku iya ɗaukar samfur ko sabis (mafi dacewa wanda kuke so) kuma ku gano yadda ake aiwatar da shi. Kuna iya mamakin yadda wannan samfurin ya kasance mai sauƙi, da kuma yawan hadaddun sa a zahiri. Kar ka manta: sauki - yawanci hadaddun, kuma ba haka bane.

Ina tsammanin mafi kyawun shawara da zan iya ba duk wanda ya fara tsara tsarin shine: kada ku yi wani zato! Tun daga farkon, kuna buƙatar tantance gaskiyar da aka sani game da wannan tsarin da tsammanin da ke tattare da shi. Ga wasu kyawawan tambayoyi da za ku yi don taimaka muku farawa da ƙirar ku:

  • Menene matsalar da muke ƙoƙarin magancewa?
  • Menene mafi girman adadin masu amfani da za su yi hulɗa tare da tsarin mu?
  • Wadanne nau'ikan bayanan rubutu da karatu za mu yi amfani da su?
  • Wadanne lamuran gazawar da ake sa ran, ta yaya za mu bi da su?
  • Menene tsammanin tsarin daidaito da samuwa?
  • Shin dole ne ku yi la'akari da kowane buƙatu masu alaƙa da tabbatarwa da ƙa'ida ta waje lokacin aiki?
  • Wadanne nau'ikan bayanai masu mahimmanci za mu adana?

Waɗannan ƴan tambayoyin ne kawai waɗanda suka kasance masu amfani ga ni da ƙungiyoyin da na shiga cikin shekaru masu yawa na ayyukan ƙwararru. Idan kun san amsoshin waɗannan tambayoyin (da duk wasu waɗanda suka dace da mahallin da ya kamata ku yi aiki), to sannu a hankali zaku iya shiga cikin cikakkun bayanan fasaha na matsalar.

Saita matakin farko

Me nake nufi da “baseline” anan? A zahiri, a zamaninmu, yawancin matsalolin da ke cikin masana'antar software "za a iya magance su ta amfani da hanyoyin da fasahar da ake da su. Don haka, ta hanyar zagayawa cikin wannan filin, za ku sami farkon farawa lokacin da kuka fuskanci matsalolin da wani ya warware kafin ku. Kar a manta cewa shirye-shirye an rubuta su ne don magance matsalolin kasuwanci da masu amfani, don haka muna ƙoƙarin magance matsalar ta hanya mafi sauƙi da sauƙi (daga mahangar mai amfani). Me yasa wannan yake da mahimmanci a tuna? Wataƙila a cikin tsarin haɗin gwiwar ku kuna son neman mafita na musamman ga duk matsaloli, saboda kuna tunanin, "wane irin mai tsara shirye-shirye ni idan na bi alamu a ko'ina”? A hakika, fasaha a nan yana yanke shawara game da inda da abin da za a yi. Hakika, kowannenmu yana fuskantar matsaloli na musamman daga lokaci zuwa lokaci, waɗanda kowannensu ƙalubale ne na gaske. Duk da haka, idan matakin farko namu ya bayyana a fili, to, mun san abin da za mu kashe kuzarinmu a kai: neman shirye-shiryen da aka yi don magance matsalar da aka sa gabanmu, ko kuma ƙara yin nazari da kuma samun fahimtar juna.

Ina tsammanin na iya gamsar da ku cewa idan ƙwararren ya fahimci mene ne bangaren gine-ginen wasu manyan manhajoji masu ban mamaki, to wannan ilimin zai zama makawa don ƙware fasahar gine-gine da haɓaka ingantaccen tushe a wannan fanni.

To, a ina zan fara? U Donna Martina Akwai wurin ajiya akan GitHub da ake kira tsarin-tsara-primer, daga abin da za ku iya koyan yadda za a tsara manyan tsarin tsarin, da kuma shirya don tambayoyi a kan wannan batu. Wurin ajiya yana da sashe mai misalai ainihin gine-gine, inda, musamman, ana la'akari da yadda suke kusanci tsarin tsarin su wasu sanannun kamfanonimisali Twitter, Uber, da sauransu.

Duk da haka, kafin mu ci gaba zuwa wannan abu, bari mu dubi mafi mahimmancin ƙalubalen gine-gine da muke fuskanta a aikace. Wannan yana da mahimmanci saboda dole ne ku ƙayyade abubuwa da yawa na matsala mai taurin kai da abubuwa da yawa, sannan ku warware shi a cikin tsarin ƙa'idodin da ke aiki a cikin tsarin da aka ba. Jackson Gabbard, tsohon ma'aikacin Facebook, ya rubuta Bidiyo na mintuna 50 game da tambayoyin ƙirar tsarin, Inda ya ba da labarin kwarewarsa na tantance daruruwan masu nema. Duk da yake bidiyon yana mayar da hankali sosai kan babban tsarin tsarin da kuma ka'idojin nasara waɗanda ke da mahimmanci yayin neman dan takara don irin wannan matsayi, har yanzu zai zama cikakkiyar hanya a kan abubuwan da suka fi muhimmanci lokacin tsara tsarin. Ina kuma ba da shawara taƙaitawa wannan bidiyo.

Gina ilimi game da adanawa da dawo da bayanai

Yawanci, shawararku game da yadda kuke adanawa da dawo da bayananku na dogon lokaci yana da tasiri mai mahimmanci akan aikin tsarin. Don haka, dole ne ku fara fahimtar rubuta da karanta halayen tsarin ku. Sa'an nan kuma kuna buƙatar samun damar kimanta waɗannan alamomi kuma ku zaɓi zaɓi bisa ga kimantawar da aka yi. Koyaya, zaku iya jure wa wannan aikin yadda yakamata kawai idan kun fahimci tsarin ajiyar bayanan data kasance. A ka'ida, wannan yana nufin ingantaccen ilimi mai alaƙa zaɓin bayanai.

Ana iya ɗaukar ma'ajin bayanai azaman tsarin bayanai waɗanda ke da tsayin daka da tsayi. Don haka, ilimin tsarin bayanai ya kamata ya kasance da amfani sosai a gare ku lokacin zabar takamaiman bayanai. Misali, Redis uwar garken tsarin bayanai ne wanda ke goyan bayan nau'ikan dabi'u iri-iri. Yana ba ku damar aiki tare da tsarin bayanai kamar jeri da saiti, da karanta bayanai ta amfani da sanannun algorithms, misali, LRU, Shirya irin wannan aikin a cikin tsari mai ɗorewa da isa sosai.

Gine-ginen Software da Tsara Tsare-tsare: Babban Hoto da Jagorar Albarkatu

Нимок Samuel Zeller daga Unsplash

Da zarar kana da isasshen fahimtar tsarin adana bayanai daban-daban, matsa zuwa nazarin daidaiton bayanai da samuwa. Da farko, kuna buƙatar fahimta Ka'idar CAP aƙalla a cikin sharuddan gabaɗaya, sannan a goge wannan ilimin ta hanyar duban tsaftataccen tsari daidaito и samun dama. Ta wannan hanyar, zaku haɓaka fahimtar fage kuma ku fahimci cewa karantawa da rubuta bayanai a zahiri matsaloli ne guda biyu daban-daban, kowannensu yana da nasa ƙalubale. Tare da ƴan daidaito da tsarin samuwa, zaku iya haɓaka aikin tsarin sosai yayin da tabbatar da kwararar bayanai masu santsi zuwa aikace-aikacenku.

A ƙarshe, ƙaddamar da tattaunawar game da batutuwan ajiyar bayanai, ya kamata mu ma ambaci caching. Shin yakamata ya gudana lokaci guda akan abokin ciniki da uwar garken? Wane bayani zai kasance a cikin cache ɗin ku? Kuma me yasa? Ta yaya kuke tsara ɓarna cache? Za a yi shi akai-akai, a wasu tazara? Idan eh, sau nawa? Ina ba da shawarar fara nazarin waɗannan batutuwa tare da sashe na gaba abin da aka ambata na tsarin ƙirar ƙirar tsarin.

Hanyoyin Sadarwa

Tsarin ya ƙunshi sassa daban-daban; waɗannan na iya zama matakai daban-daban da ke gudana a cikin kumburin jiki ɗaya, ko injuna daban-daban waɗanda ke gudana akan sassa daban-daban na hanyar sadarwar ku. Wasu daga cikin waɗannan albarkatun da ke cikin hanyar sadarwar ku na iya zama masu zaman kansu, amma wasu ya kamata su zama na jama'a kuma a buɗe ga masu amfani da ke samun damar su daga waje.

Wajibi ne a tabbatar da sadarwar wadannan albarkatun tare da juna, da kuma musayar bayanai tsakanin dukkanin tsarin da kuma waje na waje. A cikin mahallin ƙirar tsarin, a nan kuma muna fuskantar sabbin ƙalubale na musamman. Bari mu ga yadda za su iya zama da amfani aiki asynchronous yana gudana, da kuma pAkwai nau'ikan hanyoyin sadarwa iri-iri.

Gine-ginen Software da Tsara Tsare-tsare: Babban Hoto da Jagorar Albarkatu

Нимок Tony Stoddard daga Unsplash

Lokacin shirya sadarwa tare da duniyar waje, yana da mahimmanci koyaushe aminci, wanda kuma samar da shi yana buƙatar ɗauka da gaske kuma a bi shi sosai.

Rarraba haɗin kai

Ban tabbata cewa sanya wannan batu a cikin wani sashe na daban zai zama daidai ga kowa ba. Duk da haka, zan gabatar da wannan ra'ayi daki-daki a nan, kuma na yi imani cewa abu a cikin wannan sashe ya fi dacewa da kalmar "rarrabuwar haɗin gwiwa".

An kafa tsarin ta hanyar haɗa abubuwa da yawa da kyau, kuma ana tsara sadarwar su da juna akan ka'idojin da aka kafa, misali, TCP da UDP. Duk da haka, waɗannan ka'idoji irin wannan sau da yawa ba su isa ba don biyan duk buƙatun tsarin zamani, waɗanda galibi ana sarrafa su ƙarƙashin babban nauyi kuma suna dogara sosai ga buƙatun mai amfani. Yawancin lokaci ya zama dole don nemo hanyoyin da za a rarraba haɗin kai don jimre wa irin wannan babban nauyin akan tsarin.

Wannan rarraba ta dogara ne akan sanannun tsarin sunan yankin (DNS). Irin wannan tsarin yana ba da damar sauye-sauyen sunan yanki kamar nau'in zagaye mai nauyi da kuma hanyoyin tushen latency don taimakawa rarraba kaya.

Load daidaitawa yana da mahimmanci, kuma kusan kowane babban tsarin Intanet da muke hulɗa dashi a yau yana bayan ɗaya ko fiye ma'aunin nauyi. Ma'auni masu ɗaukar nauyi suna taimakawa rarraba buƙatun abokin ciniki a cikin fa'idodi da yawa da ake samu. Load balancers zo a cikin hardware da software, duk da haka, a aikace, mafi sau da yawa dole ne ka yi mu'amala da software, misali. HAProxy и ELB. Mai juyawa wakili A ra'ayi kuma yayi kama da ma'aunin nauyi, kodayake akwai kewayo tsakanin na farko da na biyu bambance-bambance daban-daban. Dole ne a yi la'akari da waɗannan bambance-bambance yayin zayyana tsarin da ya danganci bukatun ku.

Ya kamata ku kuma sani game da cibiyoyin sadarwar abun ciki bayarwa (CDN). CDN cibiyar sadarwa ce da aka rarraba ta duniya na sabar wakili wanda ke ba da bayanai daga nodes waɗanda ke kusa da wani takamaiman mai amfani. CDNs sun fi dacewa don amfani idan kuna aiki tare da fayilolin da aka rubuta a cikin JavaScript, CSS da HTML. Bugu da kari, ayyukan girgije da ke ba da masu sarrafa zirga-zirga sun zama ruwan dare a yau, misali, Azure Traffic Manager, yana ba ku rarrabawar duniya da rage jinkiri lokacin aiki tare da abun ciki mai ƙarfi. Koyaya, irin waɗannan sabis ɗin yawanci suna da amfani a lokuta inda dole ne kuyi aiki tare da ayyukan gidan yanar gizo marasa jiha.

Bari muyi magana game da dabaru na kasuwanci. Tsarin dabaru na kasuwanci, tafiyar da aiki da abubuwan da aka gyara

Don haka, mun sami damar tattaunawa game da abubuwan more rayuwa daban-daban na tsarin. Mafi mahimmanci, mai amfani ba ya ma tunanin duk waɗannan abubuwan na tsarin ku kuma, a gaskiya, ba ya kula da su kwata-kwata. Mai amfani yana sha'awar yadda ake hulɗa da tsarin ku, menene za'a iya cimma ta yin wannan, da kuma yadda tsarin ke aiwatar da umarnin mai amfani, menene kuma yadda yake yi tare da bayanan mai amfani.

Kamar yadda taken wannan labarin ya nuna, zan yi magana game da gine-ginen software da ƙirar tsarin. Saboda haka, ban yi shirin rufe tsarin ƙirar software wanda ke bayyana yadda ake ƙirƙirar abubuwan software ba. Duk da haka, yayin da nake tunani game da shi, da alama a gare ni cewa layin tsakanin tsarin ƙirar software da tsarin gine-gine yana da duhu sosai, kuma ra'ayoyin biyu suna da alaƙa sosai. Mu dauki misali rajistar taron (abin da ya faru). Da zarar ka yi amfani da wannan tsarin gine-gine, zai shafi kusan kowane bangare na tsarin ku: adana bayanai na dogon lokaci, matakin daidaiton da aka karɓa a cikin tsarin ku, siffar abubuwan da ke cikinsa, da dai sauransu, da dai sauransu. Saboda haka, na yanke shawarar ambaci wasu tsarin gine-ginen da ke da alaƙa kai tsaye da dabarun kasuwanci. Ko da yake wannan labarin zai iyakance kansa zuwa jerin sauƙi, Ina ƙarfafa ku ku saba da shi kuma kuyi tunani game da ra'ayoyin da ke tattare da waɗannan alamu. Ga ka nan:

Hanyoyi na haɗin gwiwa

Yana da wuyar gaske cewa za ku sami kanku akan aiki a matsayin ɗan takara wanda ke da alhakin tsarin ƙira kawai. Akasin haka, da alama za ku yi hulɗa tare da abokan aiki waɗanda ke aiki a ciki da wajen aikinku. A wannan yanayin, ƙila ka buƙaci kimanta hanyoyin da aka zaɓa na fasaha tare da abokan aiki, gano buƙatun kasuwanci da fahimtar yadda mafi kyawun daidaita ayyuka.

Gine-ginen Software da Tsara Tsare-tsare: Babban Hoto da Jagorar Albarkatu

Нимок Kaleidico daga Unsplash

Mataki na farko shine haɓaka ingantaccen fahimtar fahimtar menene burin kasuwanci da kuke ƙoƙarin cimma shine da kuma waɗanne sassa masu motsi za ku iya magance su. Dabarun ƙirar ƙira, musamman abubuwan da suka faru masu hadari (haguwar yanayi) yana taimakawa wajen hanzarta wannan tsari da haɓaka damar samun nasara. Ana iya yin wannan aikin kafin ko bayan an gama aikin iyakoki na ayyukanku, sa'an nan kuma zurfafa shi yayin da samfurin ya girma. Dangane da matakin daidaiton da za a samu a nan, kuna iya tsarawa harshe gama gari don ƙayyadaddun mahallin da kuke aiki a ciki. Lokacin da kuke buƙatar magana game da gine-ginen tsarin ku, kuna iya samun amfani samfurin C4, shawara Simon Brown, musamman ma lokacin da kuke buƙatar fahimtar yadda za ku shiga cikin cikakkun bayanai na matsalar, kuna kallon abubuwan da kuke son sadarwa.

Wataƙila akwai wata babbar fasaha akan wannan maudu'in da ba ta da fa'ida kaɗan fiye da Ƙirƙirar Domain Driven. Koyaya, ko ta yaya zamu koma fahimtar fannin batun, don haka ilimi da gogewa a fagen Zane-Kore Tsare-tsare kamata yayi muku amfani.

source: www.habr.com

Add a comment