Кубернетес

Апликације против државе без држављанства на Кубернетес-у

Апликације против државе без држављанства на Кубернетес-у
Важни критеријуми које треба размотрити пре покретања нове апликације у производњи је основна архитектура апликације. Термин који се често користи у овом контексту је да је апликација „без држављанства“ или да је апликација „без држављанства“. Обе врсте имају своје предности и недостатке. Имаћемо Кубернетес кластер у позадини свог ума када говоримо о апликацији или услузи која ради у производњи. Можете да инсталирате сопствени кластер Кубернетес у облак или га можете покренути као један чвор на рачунару да бисте се увежбали с њим.

Почнимо са наивном дефиницијом „апатридије“, а затим полако напредујмо до ригорознијег и стварнијег погледа.

Апликација без држављанства је она која зависи од непрекидног складиштења. Једино за шта је одговоран ваш кластер је код и други статички садржај који је хостован на њему. То је то, без промене база података, без писања и без заосталих датотека када се махуна брише.

Апликација са статусом, с друге стране, има неколико других параметара о којима треба да брине у кластеру. Постоје динамичке базе података које, чак и када је апликација офлајн или обрисана, остају на диску. На дистрибуираном систему, попут Кубернетеса, ово покреће неколико проблема. Детаљно ћемо их размотрити, али прво разјаснимо неке заблуде.

Услуге без држављанства заправо нису „апатриди“

Шта значи када кажемо стање система? Па, размотримо следећи једноставан пример аутоматских врата.

Врата се отварају када сензор препозна некога ко се приближава и затварају се кад сензор не добије релевантан улаз.

У пракси је ваша апликација без држављанства слична овом механизму изнад. Може имати много више стања него што је само затворено или отворено, и много различитих врста уноса, што га чини сложенијим, али у суштини истим.

Компликоване проблеме може решити само примањем уноса и извођењем радњи које зависе и од уноса и од „стања“ у којем се налази. Број могућих стања је унапред дефинисан.

Дакле, апатридност је погрешан назив.

Апликације без држављанства, у пракси, такође могу мало да варају тако што чувају детаље о, рецимо, сесијама клијента на самом клијенту (ХТТП колачићи су сјајан пример) и даље имају лепо апатридије због чега ће беспрекорно радити на кластеру.

На пример, детаљи сесије клијента, на пример, који су производи сачувани у колицима, а нису одјављени, могу се сви сачувати на клијенту и следећи пут када сесија започне се такође прикупљају ови релевантни детаљи.

На Кубернетес кластеру, апликација без држављанства није повезана са трајним складиштем или волуменом. Из оперативне перспективе, ово су сјајне вести. Различите махуне широм кластера могу радити независно са више захтева који им истовремено долазе. Ако нешто пође по злу, можете једноставно поново покренути апликацију и она ће се вратити у почетно стање са мало застоја.

Услуге са статусом државе и ЦАП теорема

С друге стране, државне службе мораће да брину о пуно и много најчешћих случајева и чудних проблема. Махуна је праћена са најмање једним волуменом и ако су подаци у том волумену оштећени, то се наставља чак и ако се цео кластер поново покрене.

На пример, ако покрећете базу података на кластеру Кубернетес, све махуне морају имати локални волумен за чување базе података. Сви подаци морају бити у савршеној синхронизацији.

Дакле, ако неко модификује унос у базу података, а то је учињено на под А, а захтев за читање долази на под Б да би се видели ти измењени подаци, тада под Б мора да покаже те најновије податке или вам да поруку о грешци. Ово је познато као доследност.

Доследност, у контексту Кубернетесове групе, значи свако читање добија најновије писање или поруку о грешци.

Али ово је против доступност, један од најважнијих разлога за постојање дистрибуираног система. Доступност подразумева да ваша апликација функционише што је могуће ближе савршенству, непрекидно, уз што мање грешака.

Може се тврдити да све ово можете избећи ако имате само једну централизовану базу података која је одговорна за решавање свих трајних потреба за складиштењем. Сада смо се вратили на једну тачку неуспеха, што је још један проблем који би Кубернетесови кластери требало да реше у првом реду.

Морате имати децентрализован начин чувања трајних података у кластеру. Уобичајено се назива мрежном партицијом. Штавише, ваш кластер мора бити у стању да преживи неуспех чворова који изводе апликацију са статусом. Ово је познато као толеранција партиције.

Свака услуга (или апликација) са статусом која се изводи на Кубернетес кластеру мора да има равнотежу између ова три параметра. У индустрији је позната као ЦАП теорема у којој се узимају у обзир компромиси између конзистентности и доступности у присуству мрежне партиције.

Даље референце

За даљи увид у ЦАП теорему можда ћете желети да погледате овај одличан говор који је одржао Бриан Цантрилл, који много пажљивије разматра покретање дистрибуираних система у производњи.

Како користити Ксдотоол за подстицање кликова мишем и притиска тастера у Линуку
Ксдотоол је бесплатан алат за командну линију отвореног кода за симулацију кликова мишем и притиска тастера. Овај чланак ће покрити кратак водич о кор...
Топ 5 ергономских производа за рачунарски миш за Линук
Да ли дуготрајна употреба рачунара изазива бол у зглобу или прстима? Патите ли од укочених зглобова и стално морате да се рукујете? Да ли осећате гору...
Како променити поставке миша и додирне табле помоћу Ксинпут-а у Линук-у
Већина Линук дистрибуција подразумевано испоручује библиотеку „либинпут“ за обраду улазних догађаја на систему. Може да обрађује улазне догађаје и на ...