булут инфраструктурасыжүктү тең салмактоомаршруттооаткаруутармак түзүү
Кечигүүнү эске алган маршруттоо жана кокустук суроо-талаптарды бөлүштүрүү
Кечигүүнү эске алган маршруттоо трафикти серверге же акыркы чекитке эң тез жооп берүү убактысы менен багыттайт, ал эми кокустук суроо-талап бөлүштүрүү жүктү аткарууну эске албастан бөлүштүрөт. Алардын ортосунда тандоо колдонуучу тажрыйбасына, инфраструктуранын чыгымдарына жана булут чөйрөсүндөгү системанын туруктуулугуна таасир этет.
Көрүнүктүү нерселер
Кечигүүнү эске алган маршруттоо жооп берүү убактысын активдүү түрдө өлчөйт жана оптималдаштырат, ал эми кокустук бөлүштүрүү аткарууну толугу менен этибарга албайт.
Кокустук бөлүштүрүүнү ишке ашыруу бир топ жөнөкөй жана нөлгө жакын кошумча чыгымдарга ээ.
Кечигүүнү эске алган маршруттоо глобалдык деңгээлде таратылган тиркемелер үчүн колдонуучу тажрыйбасын бир топ жакшыртат.
Кокустук бөлүштүрүү трафикти жай же начар иштеген серверлерге алардын абалын билбей туруп жөнөтүшү мүмкүн.
Кечигүүнү эске алган маршруттоо эмне?
Эң төмөнкү жооп берүү убактысын же географиялык жакындыкты сунуштаган суроо-талаптарды серверге жөнөтүүчү трафикти бөлүштүрүү стратегиясы.
Ал маршруттоо чечимдерин кабыл алуу үчүн жүк тең салмактагыч менен сервердин ортосундагы эки тарапка баруу убактысын тынымсыз өлчөйт.
AWS 2013-жылы 53-жол үчүн кечигүүгө негизделген маршруттоону киргизген, бул аны эң алгачкы негизги ишке ашыруулардын бири кылган.
Адатта, ал акыркы колдонуучунун кабыл алган көрсөткүчүн тегерек-робин же кокустук ыкмаларга салыштырмалуу 20-50% га жакшыртат.
Бул ыкма глобалдык бөлүштүрүлгөн колдонуучу базалары үчүн жакшы иштейт, мында географиялык аралык жооп берүү убактысына чоң таасир этет.
Бул үзгүлтүксүз ден соолукту текшерүүнү жана кечигүү зонддорун талап кылат, бул маршруттоо катмарына бир аз кошумча чыгымдарды кошот.
Туш келди суроо-талаптарды бөлүштүрүү эмне?
Ар бир кирүүчү суроо-талапты кокустан гана тандалган серверге дайындоочу жүктү теңдөө ыкмасы.
Ал учурдагы жүктөөнү же жооп берүү ылдамдыгын эске албай, ар бир сервердин кийинки суроо-талапты алуу ыктымалдуулугун бирдей деп эсептейт.
Алгоритм ишке ашырууга эң жөнөкөйлөрдүн бири жана дээрлик эч кандай абалды көзөмөлдөөнү талап кылбайт.
Статистикалык жактан алганда, кокустук бөлүштүрүү убакыттын өтүшү менен көптөгөн серверлерге акылга сыярлык жүктөмдүн таралышына жетишет.
Серверлердин кубаттуулугу ар кандай болгондо же кээ бир түйүндөр башкаларга караганда бир топ жай иштегенде, ал начар иштейт.
Акылдуу маршруттоо алгоритмдерин салыштыруу үчүн академиялык эталондордо кокустук тандоо көбүнчө баштапкы сызык катары колдонулат.
Салаштыруу таблицасы
Мүмкүнчүлүк
Кечигүүнү эске алган маршруттоо
Туш келди суроо-талаптарды бөлүштүрүү
Маршруттоо логикасы
Эң төмөнкү өлчөнгөн кечигүү менен серверди тандайт
Серверди эч кандай өндүрүмдүүлүк киргизбестен кокустук түрдө тандайт
Иштин натыйжалуулугун оптималдаштыруу
Жогорку — жооп берүү убактысын активдүү түрдө кыскартат
Төмөн — ылдамдыкты такыр эске албайт
Ишке ашыруунун татаалдыгы
Орточодон жогоруга чейин — мониторинг жана көрсөткүчтөр керек
Өтө аз — минималдуу код талап кылынат
Жүктү бөлүштүрүүнүн сапаты
Жакшы, бирок тезирээк түйүндөрдү колдой алат
Убакыттын өтүшү менен да, кыска мөөнөттүү жарылууларда бирдей эмес
Эң жакшы колдонуу учуру
Географиялык жактан ар түрдүү колдонуучулары бар глобалдык тиркемелер
Окшош мүнөздөмөлөрү бар бир тектүү сервер пулдары
Үстүнкү жүк
Үзгүлтүксүз ден соолукту текшерүү жана кечигүү зонддору
Эсептөө чыгымдарынын анча чоң эмес көлөмү
Кемчиликтерге чыдамдуулук
Жай же иштебей калган түйүндөрдү айланып өтө алат
Трафикти ден соолукка зыяндуу түйүндөргө жөнөтүшү мүмкүн
Масштабдоо мүмкүнчүлүгү
Жакшы масштабдалат, бирок метрикалык агрегацияны талап кылат
Бөлүшүлгөн абалсыз оңой масштабдалат
Толук салыштыруу
Ар бир ыкма чечимдерди кантип кабыл алат
Кечигүүнү эске алган маршруттоо ар бир сервердин жооп бериши үчүн канча убакыт талап кылынарын реалдуу убакыттагы же дээрлик реалдуу убакыттагы өлчөөлөргө таянат. Жүктөө теңдөөчүсү жооп берүү убактысынын иштеп жаткан сүрөтүн сактап, жаңы суроо-талаптарды учурда эң ылдам көрүнгөн серверге багыттайт. Ал эми суроо-талапты туш келди бөлүштүрүү ар бир чечимди өз алдынча жана эс тутумсуз кабыл алат. Ар бир суроо-талап негизинен сөөк ыргытуу болуп саналат, андыктан система кайсы сервер жакшы иштеп жатканын жана кайсынысы кыйынчылыкка туш болуп жатканын эч качан билбейт.
Колдонуучу тажрыйбасына тийгизген таасири
Кечигүү маанилүү болгондо, колдонуучулар байкашат. Кечигүүнү эске алган маршруттоо серверлердин тыгыздыгынан же географиялык жактан алыс болушунан качуу менен баракча жүктөмдөрүнөн жүздөгөн миллисекунддарды кыскарта алат. Видео агым, оюн же каржылык соода сыяктуу тиркемелер үчүн бул айырмачылык абдан чоң. Кокустук бөлүштүрүү мындай артыкчылыкты бербейт. Колдонуучулар бактылуу болуп, тез серверге туш болушу мүмкүн же алар дайыма жай серверге туш болушу мүмкүн. Тажрыйба алдын ала айтууга мүмкүн болбогондой болуп калат, бул продукт командалары каалаган нерсе сейрек кездешет.
Инфраструктуранын баасы жана ресурстарды пайдалануу
Кечигүүнү эске алган маршруттоо кошумча жумуш аткарат. Ал зонддорду иштетет, метрикаларды агрегаттайт жана ар бир суроо-талап боюнча татаалыраак чечимдерди кабыл алат. Бул жүктөмдү теңдөөчүдө CPU жана эс тутумду бир аз көбүрөөк колдонууга алып келет. Кокустук бөлүштүрүү эсептөө жагынан негизинен акысыз. Чакан жайылтуулар же чыгымдарга сезгич долбоорлор үчүн бул жөнөкөйлүк жагымдуу. Бирок, кечигүүнү эске алган маршруттоодон алынган өндүрүмдүүлүктүн жогорулашы көп учурда ашыкча камсыздоого муктаждыкты азайтуу менен кошумча чыгымдарды актайт.
Ишенимсиздик учурундагы ишенимдүүлүк
Жай сервер өлүк сервер менен бирдей эмес, бирок экөө тең колдонуучуларга зыян келтирет. Кечигүүнү эске алган маршруттоо начарлап бараткан ишти аныктап, трафикти нерселер начарлай электе артка жылдыра алат. Кокустук бөлүштүрүүдө мындай маалымат жок. Эгерде сервер эс тутумдун басымынан же ызы-чуулуу кошунадан улам жай жооп бере баштаса, кокустук маршруттоо ага трафикти жөнөтө берет. Ошентсе да, кокустук бөлүштүрүү белгилүү бир бузулуу режимдерине табигый түрдө туруктуу, анткени ал бирдиктүү бузулуу чекитине айланып кетиши мүмкүн болгон кандайдыр бир жалпы абалга көз каранды эмес.
Жөнөкөйлүк жеңгенде
Ар бир жумуш жүгү акылдуу маршруттоону талап кылбайт. Эгерде сиз жүктү теңдөөчүнүн артында бирдей серверлердин кичинекей кластерин иштетсеңиз жана колдонуучуларыңыз көбүнчө бир аймакта болсо, кокустук бөлүштүрүү жакшы иштей алат. Статистикалык орточолоо бир дагы сервердин ашыкча жүктөлбөй турганын билдирет. Мындай орнотууга кечигүүнү эске алган логиканы кошуу ашыкча инженердик иш болмок. Негизги суроо, акылдуу маршруттоону пайдалуу кылуу үчүн сиздин чөйрөңүздө сервердин иштешинде же колдонуучунун жайгашкан жеринде жетиштүү өзгөрүүлөр барбы?
Артыкчылыктары жана кемчиликтери
Кечигүүнү эске алган маршруттоо
Артыкчылыктары
+Колдонуучунун тажрыйбасы тезирээк
+Сервердин абалына ыңгайлашат
+Географиялык оптималдаштыруу
+Глобалдык колдонмолор үчүн жакшыраак
Конс
−Жогорку татаалдык
−Көбүрөөк чыгымдар
−Метрикаларды чогултуу керек
−Тез түйүндөрдү бирдей эмес колдой алат
Туш келди суроо-талаптарды бөлүштүрүү
Артыкчылыктары
+Өтө жөнөкөй
+Штат талап кылынбайт
+Статистикалык жактан бирдей жүк
+Оңой мүчүлүштүктөрдү оңдоо
Конс
−Сервердин ылдамдыгын этибарга албайт
−Алдын ала айтууга мүмкүн болбогон кыска мөөнөттүү
−Ийгиликсиздик жөнүндө кабардарлыктын жоктугу
−Ар кандай жабдыктар үчүн начар
Жалпы каталар
Мит
Чоң сандардын мыйзамынан улам кокустук бөлүштүрүү акылдуу маршруттоо сыяктуу эле жакшы.
Чындык
Миңдеген суроо-талаптар боюнча кокустук бөлүштүрүү тең салмактуу болсо да, жеке колдонуучулар дагы эле дисперсияны сезишет. Жай серверге кирген колдонуучу статистикалык орточо көрсөткүчтөргө маани бербейт. Кечигүүнү эске алган маршруттоо ар бир суроо-талап боюнча дисперсияны азайтат, бул чындыгында колдонуучунун тажрыйбасы үчүн маанилүү.
Мит
Кечигүүнү эске алган маршруттоо ар дайым географиялык жактан эң жакын серверди тандайт.
Чындык
Географиялык жакындык - бул бир киргизүү, бирок кечигүүнү эске алган маршруттоо чыныгы жооп берүү убактысын өлчөйт, ал тармактын тыгынына, пирингдик тартипке же сервердин жүктөлүшүнө байланыштуу физикалык аралыктан айырмаланышы мүмкүн. Географиялык жактан жакыныраак сервер алысыраак серверге караганда жайыраак жооп бериши мүмкүн.
Мит
Кокустук бөлүштүрүү эскирген жана аны өндүрүштө эч ким колдонбойт.
Чындык
Кокустук бөлүштүрүү өндүрүш системаларында, айрыкча гибриддик алгоритмдерде же бирдей сервер мүнөздөмөлөрү бар чөйрөлөрдө тайм-брейк катары дагы эле пайда болот. Айрым CDNдер жана четки платформалар кеңири маршруттоо логикасынын бир бөлүгү катары рандомизацияланган тандоону колдонушат.
Мит
Кечигүүнү эске алган маршруттоо кубаттуулукту пландаштыруунун зарылдыгын жокко чыгарат.
Чындык
Акылдуу маршруттоо жүктү натыйжалуу бөлүштүрүүгө жардам берет, бирок ал абадан кубаттуулукту түзбөйт. Эгерде сиздин сервериңиз кичинекей болсо, кечигүүнү эске алган маршруттоо баары жай болгонго чейин эң жай серверлерди айланып өтөт. Туура кубаттуулукту пландаштыруу маанилүү бойдон калууда.
Мит
Туш келди бөлүштүрүү колдонуучулар үчүн адилетсиз, анткени айрымдары дайыма жай серверлерди алышат.
Чындык
Кокустук бөлүштүрүү ар бир сервердин тандалып алынуу ыктымалдуулугу бирдей болгондуктан, адилеттүү, ошондуктан эч бир колдонуучу системалуу түрдө зыянга учурабайт. Маселе, ал белгилүү бир колдонуучуларга активдүү зыян келтирбестен, эч ким үчүн оптималдаштырылбайт.
Көп суралуучу суроолор
Жөнөкөй сөз менен айтканда, кечигүүнү эске алган маршруттоо деген эмне?
Кечигүүнү эске алган маршруттоо – бул жүктү теңдөө стратегиясы, мында система ар бир сервердин канчалык тез жооп берерин өлчөйт жана кайсынысы эң ылдам болсо, ошол серверге жаңы суроо-талаптарды жөнөтөт. Бардык серверлерди бирдей кароонун ордуна, ал ар бир колдонуучу үчүн жооп берүү убактысын азайтууга активдүү аракет кылат. Бул, айрыкча, серверлер ар кайсы аймактарга чачырап кеткенде же ар кандай иштөө деңгээлдерине ээ болгондо пайдалуу.
Кокустук суроо-талаптарды бөлүштүрүү чындыгында кандайча иштейт?
Суроо-талапты туш келди бөлүштүрүү ар бир кирүүчү суроо-талап үчүн учурдагы жүктөмдү, сервердин абалын же жооп берүү убактысын эске албастан, кокустук түрдө серверди тандоо менен иштейт. Көптөгөн суроо-талаптарда жүктөм статистикалык жактан тең салмактуу болот, бирок кайсы бир суроо-талап тез же жай серверге түшүшү мүмкүн. Бул ишке ашырууга эң жөнөкөй жүктөмдү теңдөө алгоритмдеринин бири.
Глобалдык тиркеме үчүн кайсы ыкма жакшыраак?
Кечигүүнү эске алган маршруттоо глобалдык тиркемелер үчүн дээрлик ар дайым жакшыраак. Ар кайсы континенттердеги колдонуучулар кайсы серверге киргенине жараша ар кандай жооп берүү убактысын башынан өткөрүшөт жана кечигүүнү эске алган маршруттоо ар бир колдонуучуну эң жакын же эң ылдам аймагына багыттай алат. Кокустук бөлүштүрүү кээ бир колдонуучуларды керексиз түрдө дүйнө жүзү боюнча жөнөтүп, алардын тажрыйбасына зыян келтирет.
Кечигүүнү эске алган маршруттоону иштетүү кымбатыраакпы?
Ооба, бул бир аз кошумча чыгымдарды кошот. Жүктөө теңдөөчүсү серверлерди тынымсыз текшерип, кечигүү көрсөткүчтөрүн сактап, ар бир суроо-талап боюнча татаалыраак чечимдерди кабыл алышы керек. Бул CPU жана эс тутумду бир аз көбүрөөк колдонууга алып келет. Бирок, иштөө артыкчылыктары көп учурда ашыкча камсыздалган инфраструктурага болгон муктаждыкты азайтат, бул болсо ал чыгымдарды компенсациялай алат.
Эки ыкманы тең айкалыштыра аласызбы?
Албетте. Көптөгөн өндүрүш системалары гибриддик ыкмаларды колдонушат, мисалы, дени сак серверлердин пулунун ичинде кокустук тандоо же бир нече сервердин жооп берүү убактысы окшош болгондо кокустук байланышты үзүү менен кечигүүнү эске алган маршруттоо. Методдорду айкалыштыруу кечигүүнү эске алган маршруттоону оптималдаштыруунун бир бөлүгү менен кокустук бөлүштүрүүнүн жөнөкөйлүгүнө жетүүгө мүмкүндүк берет.
Заманбап булут платформаларында дагы эле кокустук бөлүштүрүү колдонулуп жатабы?
Ооба, бирок көп учурда чоңураак системалардын компоненти катары. Айрым жүк теңдөөчүлөр кокустук тандоону баштапкы же тең салмактуулукту бузуучу катары колдонушат, ал эми айрым изилдөө эмгектеринде дагы эле кокустук бөлүштүрүү эталон катары колдонулат. Ал олуттуу өндүрүш чөйрөлөрүндө жалгыз маршруттоо стратегиясы катары сейрек кездешет, бирок концепция актуалдуу бойдон калууда.
Кечигүүнү эске алган маршруттоо иш жүзүндө канчалык ылдамыраак?
Реалдуу дүйнөдөгү жакшыртуулар ар кандай болушу мүмкүн, бирок изилдөөлөр жана сатуучулардын отчеттору, адатта, тегерек-робин же кокустук ыкмаларга салыштырмалуу орточо жооп берүү убактысынын 20-50% га кыскарганын көрсөтөт, айрыкча географиялык жактан бөлүштүрүлгөн орнотууларда. Эң чоң пайда континенттер аралык секирүүлөрдөн качуу жана тыгын түйүндөрүнүн айланасында маршруттоодон келип чыгат.
Кечигүү өлчөөлөрү туура эмес болсо, эмне болот?
Начар өлчөөлөр туура эмес маршруттоо чечимдерине алып келет. Эгерде система жай сервер тез деп ойлосо, ал жакка трафикти жөнөтө берет, бул колдонуучулардын иштешин начарлатат. Ошондуктан кечигүүнү эске алган маршруттоо системалары убактылуу кескин өсүштөргө же эскирген маалыматтарга алданбоо үчүн бир нече зонддорду, четтөөлөрдү аныктоону жана убакыт терезеси менен белгиленген орточо көрсөткүчтөрдү колдонушат.
CDNдер кечигүүнү эске алган маршруттоону колдонобу?
Көпчүлүк ири CDNдер колдонуучуларды эң жакшы чек арага багыттоо үчүн кандайдыр бир кечигүүнү же иштин натыйжалуулугуна негизделген маршруттоону колдонушат. Cloudflare, AWS CloudFront жана Akamai сыяктуу кызматтар реалдуу дүйнөдөгү кечигүүнү өлчөп, ошого жараша маршрутташат. Колдонуучулар дүйнө жүзү боюнча чачыранды болгондуктан, кокустук бөлүштүрүү CDN трафиги үчүн туура эмес болмок.
Кайсы ыкма катаны оңдоону жеңилдетет?
Кокустук бөлүштүрүүнү мүчүлүштүктөрдү оңдоо алда канча оңой, анткени жашыруун абалды же чечим кабыл алуу логикасын көзөмөлдөө мүмкүн эмес. Ар бир суроо-талап көз карандысыз, андыктан көйгөйлөрдү кайра чыгаруу оңой. Кечигүүнү эске алган маршруттоо метрикаларды, босоголорду жана адаптациялык жүрүм-турумду камтыйт, бул көйгөйлөрдү чечүүнү татаалдаштырышы мүмкүн, бирок бир нерсе туура эмес болуп кеткенде маалыматтуураак кылат.
Чыгарма
Колдонуучуларыңыз аймактар боюнча чачыранды болгондо же серверлериңиздин иштөө мүнөздөмөлөрү ар башка болгондо жана колдонуучу тажрыйбасынын жогорулашы кошумча татаалдыкты актаганда, кечигүүнү эске алган маршруттоону тандаңыз. Мүмкүн болушунча жөнөкөй орнотууну кааласаңыз, серверлериңиз бир тектүү болсо жана трафик схемаларыңыз оптималдаштырууга сыйлык бербесе, кокустук суроо-талап бөлүштүрүүнү тандаңыз.