Ukuphumeza i-Zonal Architecture kwi-Software-Defined yeZithuthi: Imingeni kunye nezisombululo | B4N1

Ukuphumeza i-Zonal Architecture kwi-Software-Defined yeZithuthi: Imingeni kunye nezisombululo

9 months ago · b4n1 Read time: 3 min

Intshayelelo

Ishishini leemoto liqhuba utshintsho olubalulekileyo ngokufika kwezithuthi ezichazwe ngesoftware. Ezi zithuthi zithembele kakhulu kwiinkqubo zesoftware enzima ukulawula imisebenzi eyahlukeneyo, kubandakanya ukhuseleko, intuthuzelo, kunye nokusebenza. Enye yeendlela eziphambili zoyilo kwizithuthi ezichazwe kwisoftware luyilo lwezonal. Kule nqaku, siza kuphonononga ubuchwephesha bobugcisa bezakhiwo zezonal, kubandakanywa izicwangciso zokudibanisa, ulawulo lokuhamba kwedatha, kunye nefuthe ekusebenzeni kwesithuthi.

Yintoni iZonal Architecture?

I-Zonal architecture yindlela yoyilo eyahlula inkqubo yesofthiwe yesithuthi kwiindawo ezininzi okanye imimandla, nganye inoxanduva lomsebenzi othile. Ezi zowuni ziqhele ukubekwa zodwa omnye komnye ukuqinisekisa ukuba ukusilela kwindawo enye akuchaphazeli inkqubo yonke. Ulwakhiwo lwezonal lwenzelwe ukubonelela ngenqanaba eliphezulu lokumodareyitha, ukuguquguquka, kunye nokuqina, oko kuyenza ibe yeyona ndlela ifanelekileyo yezithuthi ezichazwe kwisoftware.

Izibonelelo zoYilo lweZonal

Uyilo lwezonal lubonelela ngeenzuzo ezininzi, kubandakanya:

  • Ukhuseleko oluphuculweyo: Ngokumisela imisebenzi ebalulekileyo kwiindawo ezahlukeneyo, umngcipheko wendawo enye yokungaphumeleli uyancitshiswa, uqinisekisa umgangatho ophezulu wokhuseleko.
  • Ukwandiswa kokuGuquguquka: Uyilo lwezonal luvumela ukudityaniswa lula kweempawu ezintsha kunye nobuchwepheshe, okwenza kube lula ukuziqhelanisa nokutshintsha kweemfuno zemarike.
  • Ukwenziwa komsebenzi okongeziweyo: Ngokulungiselela ummandla ngamnye ngokuzimeleyo, ukusebenza ngokubanzi kwesithuthi kunokuphuculwa.

Imingeni yokuPhunyezwa koYilo lweZonal

Ngelixa i-architecture yendawo ibonelela ngeenzuzo ezininzi, ukuphunyezwa kwayo akukho mingeni. Eminye yemingeni ephambili ibandakanya:

  • UkuMatyana koBuntsonkotha: Ukudibanisa imimandla emininzi kufuna uphuhliso oluntsonkothileyo lwesoftware kunye novavanyo, olunokutya ixesha kunye nobutyebi obunzulu.
  • ULawulo lokuHamba kweDatha: Ukulawula ukuhamba kwedatha phakathi kwemimandla kunokuba ngumngeni, ngakumbi xa ujongene nezixa ezikhulu zedatha.
  • Scalability: Njengoko inani lezowuni lisanda, inkqubo inokukhula ibenzima, iyenze kube nzima ukukala.

Amaqhinga oManyano

Ukoyisa imiceli mngeni yobunzima bokudibanisa, iindlela ezininzi zinokusetyenziswa, ezibandakanya:

  • I-Service-Oriented Architecture (SOA): Le ndlela ibandakanya ukuphula inkqubo kwiinkonzo ezincinci, ezizimeleyo ezinxibelelana omnye nomnye usebenzisa i-interfaces esemgangathweni.
  • Microservices Architecture: Le ndlela ibandakanya ukwahlula-hlula inkqubo kwiinkonzo ezincinci, ezizimeleyo ezinokuphuhliswa, ukuvavanywa, kunye nokuthunyelwa ngokuzimeleyo.
  • Uyilo oluqhutywa nguMnyhadala (EDA): Le ndlela ibandakanya ukusetyenziswa kweziganeko ukunxibelelana phakathi kwemimandla, kuneendlela zesiqhelo zokuphendula izicelo.

Ulawulo lokuHamba kweDatha

Ukulawula ukuhamba kwedatha phakathi kweendawo, izicwangciso ezininzi zinokusetyenziswa, kubandakanywa:

  • Ibhasi yedatha: Ibhasi yedatha lijelo lonxibelelwano elivumela ukuba idatha idluliselwe phakathi kweendawo.
  • Umgca womyalezo: Umgca womyalezo sisithinteli esigcina imiyalezo ide ibe nokuqhutyelwa phambili ngummandla wokufumana.
  • Ukugcinwa kwedatha: Ukugcinwa kwedatha kubandakanya ukugcina idatha efumaneka rhoqo kwi-cache, ukunciphisa imfuno yokuphindaphinda izicelo zedatha.

IKhowudi Umzekelo: Ulawulo lokuHamba kweDatha usebenzisa uMgcele woMyalezo

Nanku umzekelo wendlela umgca womyalezo onokusetyenziswa ukulawula ukuhamba kwedatha phakathi kweendawo kusetyenziswa umhlwa:

sebenzisa i-std:: umsonto;
sebenzisa std::sync::mpsc;

// Chaza umgca womyalezo
yakha uMkrozo woMyalezo {
    umthumeli: mpsc:: Umthumeli<String>,
    umamkeli: mpsc::Umamkeli<String>,
}

impl Umgca Womyalezo {
    // Yenza umgca womyalezo omtsha
    fn entsha () -> Self {
        vumela (umthumeli, umamkeli) = mpsc::ijelo ();
        Umgca womyalezo {umthumeli, umamkeli }
    }

    // Thumela umyalezo emgceni
    fn thumela(& ngokwakho, umyalezo: Umtya) {
        umthumeli.thumela(umyalezo).zikhuphele ();
    }

    // Fumana umyalezo ovela emgceni
    fn fumana (& self) -> Umtya {
        self.receiver.recv().ziqhaqhe()
    }
}

fn eyona () {
    // Yenza umgca womyalezo omtsha
    yeka umgca = Umgca womyalezo::mtsha();

    // Yenza umsonto omtsha othumela imiyalezo emgceni
    vumela umthumeli_umsonto = umsonto:: spawn(susa || {
        queue.send("Molo, hlabathi!".to_string());
    });

// Yenza umsonto omtsha ofumana imiyalezo emgceni
    vumela umamkeli_umsonto = umsonto:: spawn (susa || {
        vumela umyalezo = queue.receive ();
        println!("{}", umyalezo);
    });

    // Lindela imisonto ukuba igqibe
    umthumeli_umsonto.join().qhala ();
    umamkeli_umsonto.join().qhala ();
}

Umboniso: UkuHamba kweData phakathi kweZowuni

Nanku umzekelo wendlela yokuhamba kwedatha phakathi kweendawo ezinokubonwa kusetyenziswa iChart.js:

{
  "type": "scatter",
  "idatha": {
    "labels": ["Zone 1", "Zone 2", "Zone 3"],
    "iiseti zedatha": [
      {
        "label": "UkuHamba kweData",
        "idatha": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "pointRadius": 5
      }
    ]
  },
  "iinketho": {
    "isihloko": {
      "bonisa": yinyani,
      "text": "UkuHamba kweData phakathi kweZowuni"
    },
    "izikali": {
      "yAxes": [
        {
          "bonisa": yinyani,
          "scaleLabel": {
            "bonisa": yinyani,
            "labelString": "UkuHamba kweData (iiyunithi)"
          }
        }
      ]
    }
  }
}

Impembelelo kwiNdlela yokuSebenza kweSithuthi

Uyilo lwezonal lunokuba nefuthe elibonakalayo ekusebenzeni kwesithuthi, ngakumbi ngokwemiqathango:

  • Ixesha lokuPhendula: Ngokulungiselela indawo nganye ngokuzimeleyo, ixesha lokuphendula lilonke lesithuthi linokuphuculwa.
  • Ukusetyenziswa kweFuel ngokufanelekileyo: Ngokunciphisa ubunzima benkqubo, isithuthi sinokuwonga kakhulu amafutha.
  • **Ukuthembeka **: Ngokuhlukanisa imisebenzi ebalulekileyo kwiindawo ezihlukeneyo, umngcipheko wendawo enye yokungaphumeleli iyancitshiswa, iqinisekisa umgangatho ophezulu wokuthembeka.

Isiphelo

ulwakhiwo lwezonal yindlela yoyilo ebonelela ngeenzuzo ezininzi, kubandakanywa ukhuseleko oluphuculweyo, ukuguquguquka okwandisiweyo, kunye nokusebenza okuphuculweyo. Nangona kunjalo, ukuphunyezwa kwayo akukho ngaphandle kwemingeni, kubandakanywa ubunzima bokudibanisa, ulawulo lokuhamba kwedatha, kunye nokulinganisa. Ngokusebenzisa izicwangciso ezifana ne-SOA, i-microservices architecture, kunye ne-EDA, kunye nokusebenzisa izixhobo ezifana nemigca yemiyalezo kunye nokugcinwa kwedatha, le mingeni inokoyiswa. Uyilo lwezonal lunamandla okuchaphazela kakhulu ukusebenza kwesithuthi, ngakumbi ngokwexesha lokuphendula, ukusebenza kakuhle kwamafutha, kunye nokuthembeka.


Have Questions?

Let's Talk

Contact me on LinkedIn