Таратылған жүйелер: анықтамасы, мүмкіндіктері және негізгі принциптері

Мазмұны:

Таратылған жүйелер: анықтамасы, мүмкіндіктері және негізгі принциптері
Таратылған жүйелер: анықтамасы, мүмкіндіктері және негізгі принциптері
Anonim

Таратылған жүйе ең қарапайым анықтамасында соңғы пайдаланушыға бір реттік болып көрінетін бірге жұмыс істейтін компьютерлер тобы болып табылады. Машиналар жалпы күйді бөліседі, бір уақытта жұмыс істейді және бүкіл жүйенің жұмыс уақытына әсер етпестен дербес жұмыс істей алады. Ақиқат мынада, мұндай жүйелерді басқару – қателіктерге толы күрделі тақырып.

Жүйеге шолу

Бөлінген жүйелер
Бөлінген жүйелер

Таратылған жүйе бір уақытта желіге қосылған ресурстарды (соның ішінде бағдарламалық құралды) ортақ пайдалануға мүмкіндік береді.

Жүйені тарату мысалдары:

  1. Дәстүрлі стек. Бұл деректер базалары бір машинаның файлдық жүйесінде сақталады. Пайдаланушы ақпаратты алғысы келген сайын осы құрылғымен тікелей байланысады. Бұл дерекқор жүйесін тарату үшін оны бір уақытта бірнеше компьютерде іске қосу керек.
  2. Таратылған архитектура.

Таратылған жүйекөлденең және тігінен масштабтауға мүмкіндік береді. Мысалы, көбірек трафикті өңдеудің жалғыз жолы дерекқорды іске қосатын аппараттық құралды жаңарту болады. Бұл тік масштабтау деп аталады. Тігінен масштабтау белгілі бір шекке дейін жақсы, одан кейін тіпті ең жақсы жабдық қажетті трафикті қамтамасыз ете алмайды.

Көлденең масштабтау бір компьютерде аппараттық құралды жаңарту емес, көбірек компьютер қосу дегенді білдіреді. Тігінен масштабтау үлестірілген жүйелердегі соңғы аппараттық мүмкіндіктерге өнімділікті арттырады. Бұл мүмкіндіктер орташа және ауыр жұмыс жүктемесі бар технологиялық компаниялар үшін жеткіліксіз. Көлденең масштабтаудағы ең жақсы нәрсе - өлшем шектеулері жоқ. Өнімділік нашарлағанда, басқа машина жай қосылады, оны негізінен шексіз орындауға болады.

Корпоративтік деңгейде бөлінген басқару жүйесі жиі әртүрлі қадамдарды қамтиды. Кәсіпорынның компьютерлік желісінің ең тиімді орындарында бизнес-процестерде. Мысалы, үш деңгейлі үлестірілген жүйе үлгісін пайдаланатын әдеттегі таратуда деректерді өңдеу пайдаланушы орналасқан жердегі ДК-де, бизнес өңдеу қашықтағы компьютерде, ал дерекқорға қол жеткізу және деректерді өңдеу мүлдем басқа компьютерде жүзеге асырылады. бұл көптеген бизнес процестеріне орталықтандырылған қолжетімділікті қамтамасыз етеді. Әдетте, таратылған есептеулердің бұл түріклиент пен сервер әрекеттестігі үлгісін пайдаланады.

Негізгі тапсырмалар

Негізгі міндеттер
Негізгі міндеттер

Таратылған басқару жүйесінің негізгі міндеттеріне мыналар жатады:

  1. Мөлдірлік - пайдаланушыларға орынды, кіруді, тасымалдауды, параллельділікті, ауыстырып қосуды, орнын ауыстыруды, тұрақтылықты және ресурс мәліметтерін жасырмай бір жүйе кескініне қол жеткізіңіз.
  2. Ашықтық - желіні орнатуды және өзгертулерді жеңілдетеді.
  3. Сенімділік - Бір басқару жүйесімен салыстырғанда ол сенімді, дәйекті және қателерді жасыру ықтималдығы жоғары болуы керек.
  4. Өнімділік - Басқа үлгілермен салыстырғанда, таратылған үлгілер өнімділікті арттырады.
  5. Масштабталатын - бұл бөлінген басқару жүйелері аумақ, әкімшілік немесе өлшем бойынша масштабталатын болуы керек.

Тарату жүйелерінің міндеттеріне мыналар жатады:

  1. Қауіпсіздік таратылған ортада, әсіресе жалпыға ортақ желілерді пайдаланғанда үлкен мәселе.
  2. Ақаулыққа төзімділік - модель сенімсіз құрамдас бөліктермен құрастырылғанда қиын болуы мүмкін.
  3. Ресурстарды үйлестіру және бөлу - тиісті хаттамалар немесе талап етілетін саясаттар болмаса қиын болуы мүмкін.

Таратылған есептеу ортасы

Бөлінген есептеу ортасы
Бөлінген есептеу ортасы

(DCE) - осындай таратылған есептеулерді қолдайтын кеңінен қолданылатын салалық стандарт. Интернетте үшінші тарап провайдерлері кейбір жалпы қызметтерді ұсынады,бұл үлгіге сәйкес келеді.

Торлы есептеулер – күрделі есепті шешумен байланысты көптеген компьютерлердің бөлінген архитектурасы бар есептеу моделі. Торлы есептеулер үлгісінде серверлер немесе дербес компьютерлер тәуелсіз тапсырмаларды орындайды және Интернет немесе төмен жылдамдықты желілер арқылы бір-бірімен еркін байланысқан.

Ең үлкен желілік есептеулер жобасы SETI@home болып табылады, онда жеке компьютер иелері Жерден тыс барлауды іздеу (SETI) жобасы үшін компьютерлерін пайдаланып, өздерінің бірнеше көп тапсырмалы өңдеу циклдерін орындауға ерікті болады. Бұл компьютер мәселесі радиотелескоп деректерін жүктеп алу және іздеу үшін мыңдаған компьютерлерді пайдаланады.

Торлы есептеулерді алғашқы қолданудың бірі қазір distributed.net деп аталатын топтың криптографиялық кодты бұзуы болды. Бұл топ сонымен қатар олардың үлгісін бөлінген есептеулер ретінде сипаттайды.

Дерекқор масштабтау

Мәліметтер базасын масштабтау
Мәліметтер базасын масштабтау

Жаңа ақпаратты қожайыннан құлға тарату бірден болмайды. Шын мәнінде, ескірген ақпаратты алуға болатын уақыт терезесі бар. Егер бұлай болмаса, жазу өнімділігі нашарлайды, өйткені таратылған жүйелер деректердің таралуын синхронды түрде күтуі керек еді. Олар бірнеше ымырамен келеді.

Қолданушы дерекқор тәсілін пайдалану арқылы оқу трафигін белгілі бір дәрежеде кеңейтуге болады. Мұнда көптеген нұсқалар бар. Бірақ жазу трафигін бірнешеге бөлу керексерверлер, себебі ол оны өңдей алмайды. Оның бір жолы - көп басты репликация стратегиясын пайдалану. Онда құлдардың орнына оқу мен жазуды қолдайтын бірнеше негізгі түйіндер бар.

Тағы бір әдісті бөлу деп аталады. Оның көмегімен сервер бөліктер деп аталатын бірнеше кішірек серверлерге бөлінеді. Бұл үзінділердің әртүрлі жазбалары бар, қандай жазбалар қай үзіндіге кіретіні туралы ережелер жасалады. Деректер біркелкі таратылатындай ережені құру өте маңызды. Бұған ықтимал тәсіл - кейбір жазба ақпаратына сәйкес ауқымдарды анықтау.

Бұл сынық кілтті өте мұқият таңдау керек, себебі жүктеме әрқашан ерікті бағандардың негізіне тең бола бермейді. Басқаларына қарағанда көбірек сұрау алатын жалғыз бөлік хотспот деп аталады және олар оның қалыптасуына жол бермеуге тырысады. Бөлінгеннен кейін қайта калибрлеу деректері керемет қымбатқа түседі және айтарлықтай тоқтап қалуға әкелуі мүмкін.

Дерекқор консенсус алгоритмдері

Мәліметтер қорының консенсус алгоритмдері
Мәліметтер қорының консенсус алгоритмдері

ДҚ-ны үлестірілген қауіпсіздік жүйелерінде енгізу қиын, себебі олар әрбір түйіннен дұрыс үзу немесе әрекетті орындау туралы келіссөздер жүргізуді талап етеді. Бұл сапа консенсус ретінде белгілі және тарату жүйесін құрудағы негізгі мәселе болып табылады. «Міндеттеме» мәселесіне қажетті келісім түріне қол жеткізу, егер тартылған процестер мен желі толығымен сенімді болса, оңай. Дегенмен, нақты жүйелер бірқатар бағынадыжелілік процестердің ықтимал ақаулары, жоғалған, бүлінген немесе қайталанатын хабарлар.

Бұл мәселе тудырады және сенімді емес желіде шектеулі уақыт ішінде дұрыс консенсусқа қол жеткізуге кепілдік беру мүмкін емес. Іс жүзінде сенімсіз желіде консенсусқа тез жететін алгоритмдер бар. Кассандра шын мәнінде бөлінген консенсус үшін Paxos алгоритмін пайдалану арқылы жеңіл транзакцияларды қамтамасыз етеді.

Таратылған есептеулер соңғы жылдары қолданылып келе жатқан үлкен деректерді өңдеу ағынының кілті болып табылады. Бұл бірде-бір компьютер өз бетімен іс жүзінде ештеңе жасай алмайтын жинақталған 100 миллиард жазба сияқты үлкен тапсырманы бір машинаға сыйатын көптеген кішігірім тапсырмаларға бөлу әдісі. Әзірлеуші өзінің үлкен тапсырмасын көптеген кішігірім тапсырмаларға бөледі, оларды көптеген машиналарда параллель орындайды, деректерді сәйкесінше жинайды, сонда бастапқы мәселе шешіледі.

Бұл тәсіл көлденең масштабтауға мүмкіндік береді - үлкен тапсырма болғанда, есептеуге көбірек түйіндерді қосыңыз. Бұл тапсырмалар көп жылдар бойы кластерде бөлінген алгоритмді пайдалана отырып, үлкен деректер жиынын параллель өңдеу және генерациялауды жүзеге асырумен байланысты MapReduce бағдарламалау үлгісімен орындалды.

Қазір MapReduce біраз ескірген және кейбір мәселелерге әкеліп соқтырады. Осы мәселелерді шешетін басқа архитектуралар пайда болды. Атап айтқанда, таратылуға арналған Lambda архитектурасыағынды өңдеу жүйелері. Бұл саладағы жетістіктер жаңа құралдарды әкелді: Kafka Streams, Apache Spark, Apache Storm, Apache Samza.

Файлды сақтау және репликация жүйелері

Файлдарды сақтау және көшіру жүйелері
Файлдарды сақтау және көшіру жүйелері

Таратылған файлдық жүйелерді таратылған деректер қоймалары ретінде қарастыруға болады. Бұл тұжырымдамамен бірдей - бір нысан болып табылатын машиналар кластері бойынша деректердің үлкен көлемін сақтау және оған қол жеткізу. Олар әдетте таратылған есептеулермен қатар жүреді.

Мысалы, Yahoo 2011 жылдан бері 600 петабайт деректерді сақтау үшін 42 000-нан астам түйінде HDFS іске қосуымен танымал. Wikipedia айырмашылығын, бөлінген файлдық жүйелердің Cassandra Query Language (CQL) сияқты реттелетін API арқылы емес, жергілікті файлдар сияқты бірдей интерфейстер мен семантиканы пайдаланып файлдарға кіруге мүмкіндік беретінін анықтайды.

Hadoop таратылған файлдық жүйесі (HDFS) - Hadoop инфрақұрылымы арқылы есептеу үшін пайдаланылатын жүйе. Кең таралған, ол көптеген машиналарда үлкен файлдарды (ГБ немесе ТБ өлшемі) сақтау және қайталау үшін қолданылады. Оның архитектурасы негізінен NameNodes және DataNodes тұрады.

NameNodes кластер туралы метадеректерді сақтауға жауапты, мысалы қай түйінде файл блоктары бар. Олар файлдарды қай жерде сақтау және көшіру керек екенін анықтап, жүйенің күйін қадағалай отырып, желі координаторлары ретінде әрекет етеді. DataNodes жай ғана файлдарды сақтайды және файлдарды репликациялау, жаңа жазу және сияқты пәрмендерді орындайдыбасқалар.

Таңқаларлық емес, HDFS есептеулер үшін Hadoop-пен жақсы пайдаланылады, өйткені ол тапсырма туралы ақпаратты білуді қамтамасыз етеді. Содан кейін көрсетілген тапсырмалар деректерді сақтайтын түйіндерде іске қосылады. Бұл деректердің орнын пайдалануға мүмкіндік береді - есептеулерді оңтайландырады және желі арқылы трафик көлемін азайтады.

Планетараралық файлдық жүйе (IPFS) - таратылған файлдық жүйеге арналған қызықты жаңа тең дәрежелі протокол/желі. Blockchain технологиясын қолдана отырып, ол жалғыз иесі немесе сәтсіздік нүктесі жоқ толығымен орталықтандырылмаған архитектураға ие.

IPFS IPNS деп аталатын атау жүйесін (DNS-ге ұқсас) ұсынады және пайдаланушыларға ақпаратты оңай алуға мүмкіндік береді. Ол Git сияқты файлды тарихи нұсқа арқылы сақтайды. Бұл файлдың барлық алдыңғы күйлеріне қол жеткізуге мүмкіндік береді. Ол әлі де қарқынды даму үстінде (жазу кезінде v0.4), бірақ оны құруға қызығушылық танытқан жобаларды көрді (FileCoin).

Хабар алмасу жүйесі

хабар алмасу жүйесі
хабар алмасу жүйесі

Хабар алмасу жүйелері жалпы жүйеде хабарламаларды сақтау және тарату үшін орталық орынды қамтамасыз етеді. Олар қолданба логикасын басқа жүйелермен тікелей байланыстан бөлуге мүмкіндік береді.

Белгілі шкала - LinkedIn-тің Кафка кластері секундына 4,5 миллион хабардың шыңына жеткен 1 триллион хабарды өңдеді.

Қарапайым тілмен айтқанда, хабар алмасу платформасы келесідей жұмыс істейді:

  1. Хабароны жасайтын, өндіруші деп аталатын, платформаға өтетін қолданбадан жіберіледі және тұтынушылар деп аталатын бірнеше қолданбалардан оқылады.
  2. Дерекқор үшін пайдаланушы жасау, сақтау, электрондық поштаны жіберу қызметі сияқты белгілі бір оқиғаны бірнеше жерде сақтау қажет болса, хабар алмасу платформасы сол хабарды таратудың ең таза жолы болып табылады.

Бірнеше танымал жоғары деңгейлі хабар алмасу платформалары бар.

RabbitMQ – маршруттау ережелерін және басқа оңай конфигурацияланатын параметрлерді пайдалана отырып, олардың траекторияларын басқаруды дәлірек реттеуге мүмкіндік беретін хабар брокері. Оны «ақылды» брокер деп атауға болады, өйткені оның логикасы көп және ол арқылы өтетін хабарламаларды мұқият қадағалайды. CAP AP және CP опцияларын қамтамасыз етеді.

Kafka – сәл азырақ жұмыс істейтін хабар брокері, себебі ол қандай хабарлардың оқылғанын қадағаламайды және күрделі бағыттау логикасына мүмкіндік бермейді. Бұл таңғажайып өнімділікке қол жеткізуге көмектеседі және ашық бастапқы қауымдастық және Confluent командасының қолдауымен бөлінген жүйелерді белсенді дамыту арқылы осы кеңістіктегі ең үлкен уәдені білдіреді. Кафка жоғары технологиялық компаниялар арасында ең танымал.

Машинамен әрекеттесу қолданбалары

Бұл тарату жүйесі соңғы пайдаланушыға жеке компьютер ретінде көріну үшін бірге жұмыс істейтін компьютерлер тобы болып табылады. Бұл машиналар жалпы жағдайда, жұмыс істеп тұрбір уақытта және бүкіл жүйенің жұмыс уақытына әсер етпестен дербес жұмыс істей алады.

Дерекқорды таратылған деп санасаңыз, түйіндер өз әрекеттерін үйлестіру үшін бір-бірімен әрекеттессе ғана. Бұл жағдайда бір деңгейлі желіде ішкі кодын іске қосатын қолданба сияқты нәрсе және таратылған қолданба ретінде жіктеледі.

Белгілі масштаб - BitTorrent
Белгілі масштаб - BitTorrent

Осындай қолданбалардың мысалдары:

  1. Белгілі масштаб – BitTorrent «Тақтар ойыны» эпизодына арналған 193 000 түйінді қамтиды.
  2. Таратылған блокчейн жүйелерінің негізгі регистр технологиясы.

Таратылған бухгалтерлік кітаптарды тарату желісіндегі барлық түйіндерде көшірілетін, синхрондалатын және ортақ пайдаланылатын өзгермейтін, тек қолданбалы дерекқор ретінде қарастыруға болады.

Әйгілі шкала – Ethereum желісі – 2018 жылдың 4 қаңтарында күніне 4,3 миллион транзакция жасады. Олар кез келген уақытта дерекқордың күйін қалпына келтіруге мүмкіндік беретін оқиға көзі үлгісін пайдаланады.

Блокчейн – таратылған кітапшалар үшін қолданылатын және іс жүзінде олардың бастамасын белгілеген қазіргі негізгі технология. Бөлінген кеңістіктегі бұл ең жаңа және ең үлкен инновация бірінші шынайы таратылған төлем протоколын жасады, биткоин.

Блокчейн – өз желісінде бұрын-соңды орын алған барлық транзакциялардың реттелген тізімі бар таратылған кітап. Мәмілелер топтастырылған және блоктарда сақталады. Бүкіл блокчейн негізінен блоктардың байланыстырылған тізімі болып табылады. Белгіленген блоктаржасау қымбат және криптография арқылы бір-бірімен тығыз байланысты. Қарапайым сөзбен айтқанда, әрбір блокта ағымдағы блоктың мазмұнының (Merkle ағашы түрінде) арнайы хэш (нөлдердің X санынан басталады) және алдыңғы блоктың хэші бар. Бұл хэш көп процессор қуатын қажет етеді.

Таратылған операциялық жүйелердің мысалдары

Бөлінген операциялық жүйелердің мысалдары
Бөлінген операциялық жүйелердің мысалдары

Жүйе түрлері пайдаланушыға көрінеді, себебі олар бір пайдаланушы жүйелері. Олар жадты, дискіні ортақ пайдаланады және пайдаланушы деректер бойынша шарлауда қиындық туғызбайды. Пайдаланушы компьютерінде бірдеңені сақтайды және файл жоғалған деректерді оңай қалпына келтіру үшін бірнеше жерде, яғни қосылған компьютерлерде сақталады.

Таратылған операциялық жүйелердің мысалдары:

  1. Windows Server 2003;
  2. Windows Server 2008;
  3. Windows Server 2012;
  4. UbuntuLinux (Apache сервері).

Егер кез келген компьютер жоғарырақ жүктелсе, яғни жеке компьютерлер арасында көп сұраулар алмаса, жүктемені теңестіру осылай жүреді. Бұл жағдайда сұраулар көрші компьютерге таратылады. Егер желі көбірек жүктелсе, оны желіге қосымша жүйелер қосу арқылы кеңейтуге болады. Желі файлы мен қалталары синхрондалады және атау конвенциялары деректер шығарылған кезде қателер болмауы үшін пайдаланылады.

Кэштеу деректерді өңдеу кезінде де қолданылады. Барлық компьютерлер файлдарды атау үшін бірдей аттар кеңістігін пайдаланады. Бірақфайлдық жүйе әрбір компьютер үшін жарамды. Файлға жаңартулар болса, ол бір компьютерге жазылады және өзгертулер барлық компьютерлерге таралады, сондықтан файл бірдей көрінеді.

Оқу/жазу процесі кезінде файлдар құлыпталады, сондықтан әртүрлі компьютерлер арасында тығырыққа тірелмейді. Оқу, бір сеанста файлдарды жазу және сеансты жабу сияқты сеанстар да орын алады, содан кейін басқа пайдаланушы да солай істей алады.

Пайдаланудың артықшылықтары

Адамдардың күнделікті өмірін жеңілдетуге арналған операциялық жүйе. Пайдаланушы артықшылықтары мен қажеттіліктері үшін операциялық жүйе бір пайдаланушы немесе таратылған болуы мүмкін. Бөлінген ресурстар жүйесінде көптеген компьютерлер бір-бірімен қосылып, өз ресурстарын ортақ пайдаланады.

Мұны істеудің артықшылықтары:

  1. Егер мұндай жүйедегі бір компьютер ақаулы немесе зақымдалған болса, оны басқа түйін немесе компьютер шешеді.
  2. Көбірек ресурстарды оңай қосуға болады.
  3. Принтерлер сияқты ресурстар бірнеше компьютерге қызмет көрсете алады.

Бұл тарату жүйесі туралы қысқаша, ол не үшін пайдаланылады. Кейбір маңызды нәрселерді есте сақтау керек: олар күрделі және ауқымы мен бағасы бойынша таңдалады және олармен жұмыс істеу қиынырақ. Бұл жүйелер бірнеше сақтау санаттарына бөлінеді: есептеуіш, файлдық және хабар алмасу жүйелері, регистрлер, қолданбалар. Мұның бәрі күрделі ақпараттық жүйе туралы өте үстірт.

Ұсынылған: