Paylanmış sistemlər: tərif, xüsusiyyətlər və əsas prinsiplər

Mündəricat:

Paylanmış sistemlər: tərif, xüsusiyyətlər və əsas prinsiplər
Paylanmış sistemlər: tərif, xüsusiyyətlər və əsas prinsiplər
Anonim

Ən sadə tərifdə paylanmış sistem son istifadəçiyə bir kimi görünən birlikdə işləyən kompüterlər qrupudur. Maşınlar ümumi vəziyyəti paylaşır, eyni vaxtda işləyir və bütün sistemin işləmə müddətinə təsir etmədən müstəqil işləyə bilər. Həqiqət budur ki, bu cür sistemləri idarə etmək tələlərlə dolu mürəkkəb bir mövzudur.

Sistemə ümumi baxış

Paylanmış Sistemlər
Paylanmış Sistemlər

Paylanmış sistem eyni vaxtda şəbəkəyə qoşulmuş resursların (o cümlədən proqram təminatı) paylaşılmasına imkan verir.

Sistem paylanması nümunələri:

  1. Ənənəvi yığın. Bu verilənlər bazaları bir maşının fayl sistemində saxlanılır. İstifadəçi nə vaxt məlumat almaq istəsə, birbaşa bu maşınla əlaqə saxlayır. Bu verilənlər bazası sistemini yaymaq üçün onu eyni vaxtda birdən çox kompüterdə işə salmalısınız.
  2. Paylanmış memarlıq.

Paylanmış sistemüfüqi və şaquli olaraq ölçməyə imkan verir. Məsələn, daha çox trafiki idarə etməyin yeganə yolu verilənlər bazasını işlədən aparatı təkmilləşdirmək olardı. Buna şaquli miqyaslama deyilir. Şaquli miqyaslama müəyyən həddə qədər yaxşıdır, bundan sonra hətta ən yaxşı avadanlıq tələb olunan trafiki təmin edə bilməz.

Üfüqi miqyasda bir kompüterdə avadanlığı təkmilləşdirməmək deyil, daha çox kompüter əlavə etmək deməkdir. Şaquli miqyaslama paylanmış sistemlərdə performansı ən son aparat imkanlarına qədər artırır. Bu imkanlar orta və ağır iş yükü olan texnologiya şirkətləri üçün kifayət deyil. Üfüqi miqyaslamanın ən yaxşı tərəfi heç bir ölçü məhdudiyyətinin olmamasıdır. Performans azaldıqda, sadəcə olaraq başqa bir maşın əlavə edilir, bu, prinsipcə, qeyri-müəyyən müddətə edilə bilər.

Korporativ səviyyədə paylanmış nəzarət sistemi çox vaxt müxtəlif addımları əhatə edir. Müəssisənin kompüter şəbəkəsinin ən səmərəli yerlərində iş proseslərində. Məsələn, üç səviyyəli paylanmış sistem modelindən istifadə edən tipik bir paylamada məlumatların işlənməsi istifadəçinin yerləşdiyi kompüterdə, biznesin işlənməsi uzaq kompüterdə, verilənlər bazasına giriş və məlumatların işlənməsi isə tamamilə başqa kompüterdə həyata keçirilir. bir çox biznes prosesləri üçün mərkəzləşdirilmiş girişi təmin edən. Tipik olaraq, bu tip paylanmış hesablamalarmüştəri-server qarşılıqlı əlaqə modelindən istifadə edir.

Əsas Tapşırıqlar

Əsas vəzifələr
Əsas vəzifələr

Paylanılmış idarəetmə sisteminin əsas vəzifələrinə aşağıdakılar daxildir:

  1. Şəffaflıq - İstifadəçilərə məkan, giriş, miqrasiya, paralellik, əvəzetmə, yerdəyişmə, davamlılıq və resurs təfərrüatlarını gizlətmədən vahid sistem şəklinə nail olun.
  2. Açıqlıq - şəbəkənin qurulmasını və dəyişiklikləri asanlaşdırır.
  3. Etibarlılıq - Vahid idarəetmə sistemi ilə müqayisədə o, etibarlı, ardıcıl olmalı və səhvlərin maskalanması ehtimalı yüksək olmalıdır.
  4. Performans - Digər modellərlə müqayisədə paylanmış modellər performans artımını təmin edir.
  5. Ölçeklenebilir - Bu paylanmış idarəetmə sistemləri ərazi, idarəetmə və ya ölçü baxımından miqyaslana bilən olmalıdır.

Paylama sistemlərinin vəzifələrinə aşağıdakılar daxildir:

  1. Təhlükəsizlik paylanmış mühitdə, xüsusən də ictimai şəbəkələrdən istifadə edərkən böyük problemdir.
  2. Xəta tolerantlığı - model etibarsız komponentlərlə qurulduqda çətin ola bilər.
  3. Resursların əlaqələndirilməsi və paylanması - düzgün protokollar və ya tələb olunan siyasətlər olmadıqda çətin ola bilər.

Paylanılmış hesablama mühiti

Paylanmış hesablama mühiti
Paylanmış hesablama mühiti

(DCE) belə paylanmış hesablamaları dəstəkləyən geniş istifadə olunan sənaye standartıdır. İnternetdə üçüncü tərəf provayderləri bəzi ümumi xidmətlər təklif edir,bu modelə uyğundur.

Qrid hesablama mürəkkəb problemin həlli ilə əlaqəli çoxlu sayda kompüterin paylanmış arxitekturasına malik hesablama modelidir. Şəbəkə hesablama modelində serverlər və ya fərdi kompüterlər müstəqil tapşırıqları yerinə yetirir və İnternet və ya aşağı sürətli şəbəkələr vasitəsilə bir-biri ilə sərbəst bağlıdırlar.

Ən böyük şəbəkə hesablama layihəsi SETI@home-dur ki, burada fərdi kompüter sahibləri Yerdənkənar Kəşfiyyatın Axtarışı (SETI) layihəsi üçün kompüterlərindən istifadə edərək, öz çoxtali emal dövrlərinin bəzilərini könüllü olaraq yerinə yetirirlər. Bu kompüter problemi radio teleskop məlumatlarını endirmək və axtarmaq üçün minlərlə kompüterdən istifadə edir.

Şəbəkə hesablamasının ilk istifadələrindən biri hazırda distributed.net kimi tanınan qrup tərəfindən kriptoqrafik kodu sındırmaq idi. Bu qrup həmçinin öz modelini paylanmış hesablama kimi təsvir edir.

Verilənlər bazası miqyası

Verilənlər bazasının miqyası
Verilənlər bazasının miqyası

Ağadan kölə yeni məlumatın yayılması dərhal baş vermir. Əslində, köhnəlmiş məlumatları əldə edə biləcəyiniz bir zaman pəncərəsi var. Əgər belə olmasaydı, paylanmış sistemlər verilənlərin yayılmasını sinxron şəkildə gözləməli olacağı üçün yazma performansı pisləşərdi. Onlar bir neçə güzəştlə gəlirlər.

Qul verilənlər bazası yanaşmasından istifadə etməklə oxunmuş trafiki müəyyən dərəcədə genişləndirmək mümkündür. Burada bir çox variant var. Ancaq sadəcə olaraq yazma trafikini bir neçə yerə bölmək lazımdırserverlər, çünki onu idarə edə bilmir. Bir yol multi-master replikasiya strategiyasından istifadə etməkdir. Orada qul əvəzinə oxu və yazmağı dəstəkləyən bir neçə əsas qovşaq var.

Başqa üsula parçalanma deyilir. Bununla, server bir neçə kiçik serverə bölünür, bunlara fraqmentlər deyilir. Bu qəlpələrin müxtəlif girişləri var, hansı yazıların hansı parçaya daxil olması ilə bağlı qaydalar yaradılır. Məlumatların bərabər paylanması üçün belə bir qayda yaratmaq çox vacibdir. Buna mümkün yanaşma bəzi rekord məlumatlara əsasən diapazonları müəyyən etməkdir.

Yük həmişə ixtiyari sütunların əsaslarına bərabər olmadığı üçün bu parça açarı çox diqqətlə seçilməlidir. Digərlərindən daha çox sorğu alan yeganə parça hotspot adlanır və onlar onun əmələ gəlməsinin qarşısını almağa çalışırlar. Bölündükdən sonra yenidən kalibrləmə məlumatları inanılmaz dərəcədə bahalaşır və əhəmiyyətli fasilələrlə nəticələnə bilər.

Verilənlər bazası konsensus alqoritmləri

Verilənlər Bazasının Konsensus Alqoritmləri
Verilənlər Bazasının Konsensus Alqoritmləri

VB-ləri paylanmış təhlükəsizlik sistemlərində tətbiq etmək çətindir, çünki onlar hər bir qovşaqdan düzgün kəsilmə və ya əməliyyatın aparılması ilə bağlı danışıqlar aparmağı tələb edir. Bu keyfiyyət konsensus kimi tanınır və paylama sisteminin qurulmasında əsas problemdir. Əgər cəlb olunan proseslər və şəbəkə tamamilə etibarlıdırsa, “öhdəlik” problemi üçün lazım olan razılaşma növünə nail olmaq sadədir. Ancaq real sistemlər bir sıra tabedirşəbəkə proseslərinin mümkün uğursuzluqları, itirilmiş, zədələnmiş və ya təkrarlanan mesajlar.

Bu problem yaradır və etibarlı olmayan şəbəkədə məhdud vaxt ərzində düzgün konsensusun əldə ediləcəyinə zəmanət vermək mümkün deyil. Təcrübədə etibarsız bir şəbəkədə kifayət qədər tez konsensusa çatan alqoritmlər var. Cassandra paylanmış konsensus üçün Paxos alqoritmindən istifadə etməklə əslində yüngül əməliyyatlar təmin edir.

Paylanmış hesablama son illərdə istifadə edilən böyük verilənlərin emalı axınının açarıdır. Bu, heç bir kompüterin təkbaşına praktiki olaraq heç bir şey edə bilməyəcəyi məcmu 100 milyard qeyd kimi nəhəng tapşırığı tək maşına sığışdıra bilən çoxlu kiçik tapşırıqlara bölmək üsuludur. Tərtibatçı öz nəhəng tapşırığını bir çox kiçik tapşırıqlara bölür, onları paralel olaraq bir çox maşında yerinə yetirir, məlumatları müvafiq qaydada toplayır, sonra orijinal problem həll olunacaq.

Bu yanaşma sizə üfüqi miqyasda imkan verir - böyük tapşırıq olduqda, hesablamaya daha çox qovşaq əlavə etmək kifayətdir. Bu tapşırıqlar uzun illərdir ki, MapReduce proqramlaşdırma modeli tərəfindən klasterdə paylanmış alqoritmdən istifadə edərək paralel emal və böyük məlumat dəstlərinin yaradılması ilə bağlı həyata keçirilir.

Hazırda MapReduce bir qədər köhnəlib və bəzi problemlər gətirir. Bu problemləri həll edən başqa memarlıqlar meydana çıxdı. Məhz, paylanmış üçün Lambda Architectureaxını emal sistemləri. Bu sahədə irəliləyişlər yeni alətlər gətirdi: Kafka Streams, Apache Spark, Apache Storm, Apache Samza.

Fayl saxlama və təkrarlama sistemləri

Fayl saxlama və təkrarlama sistemləri
Fayl saxlama və təkrarlama sistemləri

Paylanmış fayl sistemləri paylanmış məlumat anbarları kimi düşünülə bilər. Bu, konsepsiya ilə eynidir - vahid bir varlıq olan maşınlar klasterində böyük miqdarda məlumatların saxlanması və əldə edilməsi. Onlar adətən Paylanmış Hesablama ilə əl-ələ verir.

Məsələn, Yahoo 2011-ci ildən bəri 600 petabayt məlumat saxlamaq üçün 42.000-dən çox qovşaqda HDFS işlətməklə tanınır. Vikipediya fərqi müəyyən edir ki, paylanmış fayl sistemləri Cassandra Query Language (CQL) kimi xüsusi API vasitəsilə deyil, yerli fayllarla eyni interfeyslərdən və semantikadan istifadə edərək fayla giriş imkanı verir.

Hadoop Paylanmış Fayl Sistemi (HDFS) Hadoop infrastrukturu üzərində hesablamalar üçün istifadə edilən sistemdir. Geniş yayılmışdır, bir çox maşınlarda böyük faylları (GB və ya TB ölçüsü) saxlamaq və təkrarlamaq üçün istifadə olunur. Onun arxitekturası əsasən NameNodes və DataNodes-dan ibarətdir.

NameNodes klaster haqqında metadatanın saxlanmasına cavabdehdir, məsələn, hansı node fayl bloklarını ehtiva edir. Onlar şəbəkə koordinatorları kimi çıxış edir, faylları harada saxlamağın və köçürməyin daha yaxşı olduğunu müəyyənləşdirir, sistemin sağlamlığını izləyir. DataNodes sadəcə olaraq faylları saxlayır və faylın təkrarlanması, yeni yazma və kimi əmrləri yerinə yetirirdigərləri.

Təəccüblü deyil ki, HDFS ən yaxşı hesablama üçün Hadoop ilə istifadə olunur, çünki o, tapşırıq haqqında məlumatlılığı təmin edir. Göstərilən işlər daha sonra məlumatları saxlayan qovşaqlarda yerinə yetirilir. Bu, məlumatların yerini istifadə etməyə imkan verir - hesablamaları optimallaşdırır və şəbəkə üzərindən trafikin həcmini azaldır.

Planetlərarası Fayl Sistemi (IPFS) paylanmış fayl sistemi üçün maraqlı yeni həmyaşıd protokol/şəbəkədir. Blockchain texnologiyasından istifadə edərək, heç bir sahibi və ya uğursuzluq nöqtəsi olmayan tam mərkəzləşdirilməmiş arxitekturaya malikdir.

IPFS IPNS adlı bir adlandırma sistemi (DNS-ə bənzər) təklif edir və istifadəçilərə məlumatı asanlıqla əldə etməyə imkan verir. O, Git kimi faylı tarixi versiya vasitəsilə saxlayır. Bu, faylın bütün əvvəlki vəziyyətlərinə daxil olmağa imkan verir. O, hələ də ağır inkişaf mərhələsindədir (yazı zamanı v0.4), lakin artıq onu qurmaqda maraqlı olan layihələri görüb (FileCoin).

Mesajlaşma sistemi

mesajlaşma sistemi
mesajlaşma sistemi

Mesajlaşma sistemləri ümumi sistem daxilində mesajların saxlanması və yayılması üçün mərkəzi yer təmin edir. Onlar sizə proqram məntiqini digər sistemlərlə birbaşa əlaqədən ayırmağa imkan verir.

Məlum miqyas - LinkedIn-in Kafka klasteri saniyədə 4,5 milyon mesajın zirvəsi ilə gündə 1 trilyon mesaj emal etdi.

Sadə dillə desək, mesajlaşma platforması belə işləyir:

  1. Mesajonu potensial olaraq yaradan proqramdan ötürülür, istehsalçı adlanır, platformaya daxil olur və istehlakçılar adlanan çoxsaylı proqramlardan oxunur.
  2. Müəyyən hadisəni verilənlər bazası, yaddaş, e-poçt göndərmə xidməti üçün istifadəçi yaratmaq kimi bir neçə yerdə saxlamaq lazımdırsa, mesajlaşma platforması həmin mesajı yaymaq üçün ən təmiz yoldur.

Bir neçə məşhur yüksək səviyyəli mesajlaşma platformaları var.

RabbitMQ marşrut qaydaları və digər asanlıqla konfiqurasiya edilə bilən parametrlərdən istifadə edərək onların trayektoriyalarına nəzarəti daha dəqiq tənzimləməyə imkan verən mesaj brokeridir. Onu “ağıllı” broker adlandırmaq olar, çünki o, çoxlu məntiqə malikdir və ondan keçən mesajları diqqətlə izləyir. CAP-dan AP və CP üçün seçimlər təqdim edir.

Kafka hansı mesajların oxunduğunu izləmədiyi və mürəkkəb marşrutlaşdırma məntiqinə imkan vermədiyi üçün bir az daha az funksional olan mesaj brokeridir. O, heyrətamiz performansa nail olmağa kömək edir və açıq mənbə icması tərəfindən paylanmış sistemlərin aktiv inkişafı və Confluent komandasının dəstəyi ilə bu məkanda ən böyük vədi təmsil edir. Kafka yüksək texnologiya şirkətləri arasında ən populyardır.

Maşın Qarşılıqlı Tətbiqlər

Bu paylama sistemi son istifadəçiyə ayrıca kompüter kimi görünmək üçün birlikdə işləyən kompüterlər qrupudur. Bu maşınlar ümumi vəziyyətdədir, işləkdireyni vaxtda və bütün sistemin işləmə müddətinə təsir etmədən müstəqil işləyə bilər.

Əgər verilənlər bazasını paylanmış hesab edirsinizsə, yalnız qovşaqlar öz hərəkətlərini əlaqələndirmək üçün bir-biri ilə qarşılıqlı əlaqədə olduqda. Bu, daxili kodunu peer-to-peer şəbəkəsində işlədən proqram kimi bir şeydir və paylanmış proqram kimi təsnif edilir.

Məlum Ölçü - BitTorrent
Məlum Ölçü - BitTorrent

Belə tətbiqlərə nümunələr:

  1. Məlum Ölçə - BitTorrent Game of Thrones seriyası üçün 193.000 qovşaq topladı.
  2. Paylanmış Blockchain sistemlərinin əsas registr texnologiyası.

Paylanılmış kitablar təkrarlanan, sinxronlaşdırılan və paylama şəbəkəsindəki bütün qovşaqlarda paylaşılan dəyişməz, yalnız tətbiq verilənlər bazası kimi düşünülə bilər.

Məşhur miqyas - Ethereum şəbəkəsi 2018-ci il yanvarın 4-də gündə 4,3 milyon əməliyyat həyata keçirib. Onlar istənilən vaxt verilənlər bazasının vəziyyətini bərpa etməyə imkan verən Hadisə Mənbə modelindən istifadə edirlər.

Blockchain, paylanmış kitablar üçün istifadə edilən hazırkı əsas texnologiyadır və əslində onların başlanğıcını qeyd edir. Paylanmış məkanda bu ən yeni və ən böyük yenilik ilk həqiqətən paylanmış ödəniş protokolunu, bitkoini yaratdı.

Blockchain şəbəkəsində indiyə qədər baş vermiş bütün əməliyyatların sifarişli siyahısı olan paylanmış kitabdır. Sövdələşmələr qruplaşdırılır və bloklarda saxlanılır. Bütün blokçeyn mahiyyətcə əlaqəli blokların siyahısıdır. Müəyyən edilmiş bloklaryaratmaq üçün bahalıdır və kriptoqrafiya vasitəsilə bir-biri ilə sıx bağlıdır. Sadəcə olaraq, hər bir blokda cari blokun məzmununun (Merkle ağacı şəklində) xüsusi hashı (sıfırların X sayı ilə başlayır) və əvvəlki blokun hashı var. Bu heş çoxlu CPU gücü tələb edir.

Paylanmış əməliyyat sistemlərinin nümunələri

Paylanmış əməliyyat sistemlərinin nümunələri
Paylanmış əməliyyat sistemlərinin nümunələri

Sistem növləri istifadəçiyə görünür, çünki onlar tək istifadəçi sistemləridir. Onlar yaddaşlarını, disklərini paylaşırlar və istifadəçi məlumat arasında naviqasiya etməkdə çətinlik çəkmir. İstifadəçi kompüterində nəyisə saxlayır və fayl bir çox yerdə, məsələn, qoşulmuş kompüterlərdə saxlanılır ki, itirilmiş məlumat asanlıqla bərpa oluna bilsin.

Paylanmış əməliyyat sistemlərinin nümunələri:

  1. Windows Server 2003;
  2. Windows Server 2008;
  3. Windows Server 2012;
  4. UbuntuLinux (Apache serveri).

Hər hansı bir kompüter daha yüksək yüklənirsə, yəni fərdi kompüterlər arasında çoxlu sorğular mübadiləsi aparılırsa, yük balansı belə baş verir. Bu halda, sorğular qonşu PC-yə yayılır. Şəbəkə daha çox yüklənirsə, o zaman şəbəkəyə daha çox sistem əlavə etməklə genişləndirilə bilər. Şəbəkə faylı və qovluqları sinxronlaşdırılır və adlandırma konvensiyalarından istifadə olunur ki, verilənlər əldə edildikdə heç bir xəta baş verməsin.

Keşləmə verilənlərin manipulyasiyası zamanı da istifadə olunur. Bütün kompüterlər faylları adlandırmaq üçün eyni ad boşluğundan istifadə edirlər. Ammafayl sistemi hər bir kompüter üçün etibarlıdır. Faylda yeniləmələr varsa, o, bir kompüterə yazılır və dəyişikliklər bütün kompüterlərə yayılır, beləliklə, fayl eyni görünür.

Fayllar oxuma/yazma prosesi zamanı kilidlənir, ona görə də müxtəlif kompüterlər arasında blokada yoxdur. Oxumaq, faylları bir seansda yazmaq və sessiyanı bağlamaq kimi seanslar da baş verir, sonra başqa istifadəçi də eyni şeyi edə bilər və s.

İstifadə etməyin faydaları

İnsanların gündəlik həyatını asanlaşdırmaq üçün hazırlanmış əməliyyat sistemi. İstifadəçi üstünlükləri və ehtiyacları üçün əməliyyat sistemi tək istifadəçi və ya paylanmış ola bilər. Paylanmış resurs sistemində bir çox kompüter bir-birinə bağlıdır və öz resurslarını paylaşır.

Bunun faydaları:

  1. Belə bir sistemdə bir kompüter nasazdırsa və ya zədələnirsə, başqa qovşaq və ya kompüter bununla məşğul olacaq.
  2. Daha çox resurs asanlıqla əlavə edilə bilər.
  3. Printerlər kimi mənbələr birdən çox kompüterə xidmət edə bilər.

Bu, paylama sistemi, onun niyə istifadə edildiyi haqqında qısa məlumatdır. Xatırlamaq lazım olan bəzi vacib şeylər: onlar mürəkkəbdir və miqyasına və qiymətinə görə seçilir və onlarla işləmək daha çətindir. Bu sistemlər bir neçə saxlama kateqoriyasında paylanır: hesablama, fayl və mesajlaşma sistemləri, registrlər, proqramlar. Və bütün bunlar mürəkkəb informasiya sistemi haqqında çox səthidir.

Tövsiyə: