Kontentke ótiw

Monolit qosımsha

Wikipedia, erkin enciklopediya
Monolit qosımshalardı Avstraliyadaǵı Uluru sıyaqlı monolitlerge salıstırıwǵa boladı: úlken bir (mono) tas (lit).

Programmalıq injiniringde monolit qosımsha ‒ bul óz-ózine jetkilikli hám basqa qosımshalardan ǵárezsiz, biraq ádette iykemliligi joq jalǵız birlesken programmalıq támiynat qosımshası.[1] Talaplarǵa baylanıslı programmalıq támiynat arxitekturasınıń monolit stilinde qosımshalardı qurıwdıń artıqmashılıqları hám kemshilikleri bar.[2] Monolit qosımshalar salıstırmalı túrde ápiwayı hám arzan, biraq olardıń kemshilikleri elastiklik, qátege shıdamlılıq hám masshtablılıqtıń joqlıǵı bolıp tabıladı.[3] Monolit qosımshalarǵa alternativ stillerge kóp qatlamlı arxitekturalar, bólistirilgen esaplaw hám mikroservisler kiredi. Sońǵı jıllardaǵı ataqlılıǵına qaramastan, monolit qosımshalar kishi komandası hám az qıyınshılıǵı bolǵan qosımshalar ushın ele de jaqsı tańlaw bolıp tabıladı. Biraq, ol dım qıyınlassa, onı mikroservislerge yaki bólistirilgen qosımshaǵa qayta strukturalawdı oylastırıwıńız múmkin. Este tutıń, bir mashinada jaylastırılǵan monolit qosımsha házirgi jumıs júklemeńiz ushın jetkilikli dárejede ónimli bolıwı múmkin, biraq ol jaqsı joybarlanǵan bólistirilgen sistemaǵa qaraǵanda az qoljetimli, az shıdamlı, az ózgeriwsheń, az sazlanǵan hám az masshtablanatuǵın boladı.[4]

Dizayn filosofiyası boyınsha qosımsha tek belgili bir wazıypa ushın emes, al belgili bir funkciyanı tamamlaw ushın zárúr bolǵan hár bir adımdı orınday aladı. Ayrım jeke qarjı qosımshaları monolit bolıp tabıladı, óytkeni olar paydalanıwshıǵa tolıq wazıypanı aqırına shekem orınlawǵa járdem beredi hám birge isleytuǵın úlken qosımshalar sistemasınıń bóleklerinen góre jeke maǵlıwmat saqlaǵıshları bolıp tabıladı. Ayrım tekst redaktorları monolit qosımshalar bolıp tabıladı. Bul qosımshalar geyde meynfreym kompyuterleri menen baylanıstırıladı.

Programmalıq támiynat injeneriyasında monolit qosımsha bir xızmet retinde proektlestirilgen programmalıq támiynat qosımshasın súwretleydi.[5] Ayırım scenariylerde bir neshe xızmet zárúr bolıwı múmkin, óytkeni bul qosımshanıń bóleklerin tolıq almastırıwdı talap etpesten ońlaw yaki almastırıw arqalı xızmet kórsetiwdi jeńillestiriwi múmkin.

Modullik túrli modulli programmalastırıw usılları arqalı túrli dárejelerde erisiledi. Kodqa tiykarlanǵan modullik baǵdarlamashılarǵa qosımshanıń bóleklerin qayta paydalanıw hám ońlaw imkaniyatın beredi, biraq bul xızmet kórsetiw funkciyaların orınlaw ushın islep shıǵarıw quralları talap etiledi (mısalı, qosımshanı qayta kompilyaciyalaw zárúr bolıwı múmkin). Obektke tiykarlanǵan modullik qosımshanı pútkil qosımshanı qayta jaylastırmastan óz aldına xızmet kórsetiw hám almastırıw múmkin bolǵan ayırım orınlanatuǵın fayllar jıyınaǵı retinde támiyinleydi (mısalı, Microsoft'tıń Dynamic-link library (DLL); Sun/UNIX'tıń bólisiw obekt faylları).[6] Obekt xabarınıń ayrım imkaniyatları obektke baǵdarlanǵan qosımshalarǵa bir neshe kompyuter arasında tarqalıw imkaniyatın beredi (mısalı, Microsoft'tıń Component Object Model (COM)). Xızmetke baǵdarlanǵan arxitekturalar moduller arasında baylanıs jasaw ushın ayrıqsha baylanıs standartları/protokolların paydalanadı.

Baslanǵısh paydalanıwında "monolit" termini paydalanıwǵa qolaylı modulligi bolmaǵan úlken meynfreym qosımshaların súwretlegen.[7] Bul esaplaw kúshiniń tez ósiwi hám soǵan baylanıslı programmalıq támiynat arqalı sheshiliwi múmkin bolǵan mashqalalardıń qıyınlıǵınıń tez ósiwi menen birge xızmet kórsetiwge qolaysız sistemalarǵa hám "programmalıq támiynat daǵdarısına" alıp keldi.

Úlgiler

Monolit qosımshalar ushın paydalanılatuǵın keń taralǵan arxitekturalıq úlgiler tómende keltirilgen, hár biriniń óz kelisimleri bar:

  • Qatlamlı arxitektura
  • Modulli monolit
  • Mikroyadro arxitekturası

Derekler

  1. Mishra, Mayank. Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings, 2018. 
  2. Harris. „Microservices vs. monolithic architecture: When monoliths grow too big it may be time to transition to microservices“. atlassian.com (2022).
  3. Fundamentals of Software Architecture: An Engineering Approach, 2020. 
  4. Monolith to Microservices Evolutionary Patterns to Transform Your Monolith, 2019. 
  5. „Cloud Adoption As A Part Of The Digital Transformation Journey“. kumaran.com (2-mart 2022-jıl).
  6. Lutkevich. „dynamic link library (DLL)“. techtarget.com.
  7. Raymond, Eric S.. The Art of Unix Programming, 2003.