Мундариҷа[Пинҳон кардан][Намоиш]
Мавҷудияти барномаҳо ҳеҷ гоҳ ба он андоза ҷиддӣ қабул карда нашудааст, зеро имрӯз, вақте ки мо барномаҳоро на танҳо барои муошират, хоҳ шахсӣ ё касбӣ ва ҳам вақте ки барномаҳо тиҷоратанд, истифода мебарем.
Барномаҳое, ки доимо онлайн нестанд ё ноустуворанд, корбарон ва аҳамияти худро гум мекунанд ва дар ниҳоят кӯҳна мешаванд. Ин дар як лаҳза рӯй дод. Азбаски интернет ҳеҷ гоҳ хоб намекунад ва 24 соат дар як рӯз, 7 рӯз дар як ҳафта кор мекунад, ҳамин идея бояд ба барномаҳо дахл дошта бошад.
Миқёспазирӣ барои иҷрои ин кор ва таъмини дастрасии барнома муҳим аст. Мувозинати сарборӣ яке аз ҷузъҳои муҳимтарини таъмини мавҷудият мебошад. Бисёр одамон то ҳол боварӣ доранд, ки мувозинати сарборӣ метавонад бо скрипти оддӣ анҷом дода шавад.
Аммо, ин тавр нест. Танҳо он дастрасӣ ба барномаҳоро дар тамоми ҷаҳон - дар вақти дилхоҳ ва аз ҳар дастгоҳ таъмин мекунад.
Дар ин паём, мо ба мувозинати сарборӣ, алгоритмҳои он ва чӣ гуна иртибот бо микросервисҳо, аз ҷумла чизҳои дигарро дида мебароем. Биёед оғоз кунем!
Мувозинати сарборӣ чист?
Вақте ки талабот ба вебсайт ё барномаи тиҷорӣ афзоиш меёбад, як сервер ба зудӣ қодир нест, ки тамоми сарбориро иҷро кунад. Ташкилотҳо сарбории корро ба серверҳои сершумор бо мақсади қонеъ кардани талабот тақсим мекунанд. Ин усул, ки бо номи "баланси сарборӣ" маъруф аст, як серверро аз бори изофа нигоҳ медорад, ки метавонад боиси суст шудани он, коҳиши дархостҳо ва ҳатто садама гардад.
Мувозинати сарборӣ трафики шабакаро баробар тақсим мекунад, то аз нокомӣ дар натиҷаи сарбории захираҳо пешгирӣ карда шавад. Барномаҳо, вебсайтҳо, пойгоҳи додаҳо ва дигар захираҳои компютерӣ бо истифода аз ин усул беҳтар кор мекунанд ва дастрастаранд. Он инчунин дар коркарди дуруст ва саривақтии дархостҳои корбарон кӯмак мекунад.
Аз нуқтаи назари корбар, мувозинати сарборӣ ҳамчун миёнарави ноаён байни муштарӣ ва маҷмӯи серверҳо хидмат мекунад ва кафолат медиҳад, ки дархостҳои пайвастшавӣ қатъ нашаванд. Барномаҳо, вебсайтҳо, пойгоҳи додаҳо ва хидматҳои онлайн эҳтимолан хароб хоҳанд шуд, агар талабот бе тавозуни сарборӣ хеле зиёд шавад.
Садҳо ҳазор дархостҳои корбарон метавонанд дар як вақт ба як вебсайти сердаромад фиристода шаванд. Барои дуруст пур кардани саҳифаҳои веб бо мундариҷаи дархостшуда, аз қабили матн, тасвирҳо, видео ва ҷараёнҳои аудио, серверҳои сершумор лозиманд. Мувозинати сарборӣ одатан дар хоҷагиҳои сервери вебсайтҳои сердаромад, инчунин серверҳои DNS, пойгоҳи додаҳо ва сайтҳои протоколи интиқоли файл (FTP) истифода мешавад.
Агар як сервер сарбории аз ҳад зиёд бошад, он метавонад бад кор кунад ё ҳатто садама кунад. Тавозуни сарборӣ тавассути тақсим кардани дархостҳои корбарон дар байни маҷмӯи серверҳо имкони бекористиро коҳиш медиҳад. Агар яке аз серверҳои гурӯҳ ноком шавад, трафик ба серверҳои дигари гурӯҳ интиқол дода мешавад. Тавозуни сарборӣ ба таври худкор серверҳои навро дар раванди тақсимоти трафик ҳангоми илова кардани онҳо ба ҳавзи сервер илова мекунад.
Мувозинати сарборӣ чӣ гуна кор мекунад?
Он ба таври зерин кор мекунад:
- Вақте ки муштарӣ дархост қабул мекунад, масалан тавассути браузер ё барнома, он кӯшиш мекунад, ки бо сервер пайваст шавад.
- Вақте ки тавозуни сарборӣ дархостро қабул мекунад, он онро ба яке аз серверҳои гурӯҳи сервер дар асоси намунаҳои муқарраршудаи алгоритм (ё ферма) равона мекунад.
- Сервер дархости пайвастшавиро қабул мекунад ва ба муштарӣ тавассути мувозинати сарборӣ ҷавоб медиҳад.
- Вақте ки тавозуни сарборӣ ҷавобро қабул мекунад, он ба суроғаи IP-и муштарӣ бо суроғаи IP-и сервери интихобшуда мувофиқат мекунад. Пас аз он, ҷавоб бо баста интиқол дода мешавад.
- Боркунии SSL раванди рамзкушоӣ кардани маълумот бо истифода аз протоколи рамзгузории Security Socket Layer мебошад, то серверҳо маҷбур нашаванд.
- Раванд то ба охир расидани сессия такрор карда мешавад.
Усулҳои мувозинати сарборӣ
Барои интихоби кадоме аз серверҳо дар хоҷагии сервер дархости навбатӣ мегирад, ҳар як техникаи мувозинати сарборӣ маҷмӯи меъёрҳоро истифода мебарад. Панҷ равиши маъмулӣ барои мувозинати сарборӣ вуҷуд дорад:
- Робин мудаввар: Ин равиши пешфарз аст ва он тавре кор мекунад, ки он садо медиҳад. Тавозуни сарборӣ дархостҳоро дар шакли гардиш тақсим мекунад, ки аз сервери аввал дар гурӯҳ сар карда, ба поён меравад ва дар он ҷо интизори дубора даъват шуданро интизор аст. Ин усул кафолат медиҳад, ки ҳар як сервер тақрибан якхела шумораи пайвастҳоро идора мекунад.
- Раунд Робин: Ин равиш ба ҳар як сервер вазн (ё бартарият) таъин мекунад, ки одатан ба қобилияти он мутаносиб аст. Чӣ қадаре ки сервер дархостҳо қабул кунад, вазн ҳамон қадар зиёд мешавад. Масалан, сервере, ки арзиши вазнаш ду аст, нисбат ба сервере, ки арзиши вазнаш як аст, ду маротиба зиёдтар дархост қабул мекунад.
- Сессияи часпак: Ин равиш, ки ҳамчун давомнокии сессия маълум аст, муштариён ва серверҳои муайянро барои давомнокии сессия мепайвандад. Барои муқаррар кардани пайванд, мувозинаткунандаи сарборӣ куки ё суроғаи IP-и корбарро барои муайян кардани атрибути корбар истифода мебарад. Пас аз барқарор кардани пайвастшавӣ, дархостҳои корбар то ба охир расидани сессия ба ҳамон сервер равона карда мешаванд. Ин захираҳои шабакаро оптимизатсия мекунад ва инчунин таҷрибаи корбарро беҳтар мекунад.
- Пайвастҳои камтарин: Ин стратегия тахмин мекунад, ки ҳама дархостҳо боиси сарбории сервери баробар мешаванд. Дар натиҷа, сервере, ки шумораи камтарин дархостҳо дорад, дархости навбатиро мегирад.
- IP Hash: Ин алгоритм калиди беҳамторо дар асоси суроғаҳои IP-и манбаъ ва таъиноти муштарӣ ва сервер тавлид мекунад. Калид барои масири дархост истифода мешавад ва имкон медиҳад, ки пайвасти гумшуда бо ҳамон сервер барқарор карда шавад.
Таҷҳизоти Vs. Тавозуни сарбории нармафзор
Тавозуни сарбории сахтафзор
Таҷҳизоти физикӣ, ба монанди дастгоҳ, мувозинатҳои сарбории сахтафзорро ташкил медиҳанд. Ин хатсайрҳо трафикро ба серверҳо вобаста ба омилҳо ба монанди шумораи пайвастҳои мавҷуда, истифодаи протсессор ва иҷрои сервер. Тавозуни сарбории сахтафзор нармафзори хусусии худро доранд, ки ҳангоми дастрас шудани версияҳои нав ва ислоҳи амният бояд нигоҳдорӣ ва нав карда шаванд.
Тавозуни сарбории сахтафзор аксар вақт иҷрои баландтар ва назорат ва инчунин доираи васеътари қобилиятҳоро ба монанди аутентификатсияи Kerberos ва суръатбахшии сахтафзори SSL таъмин мекунанд, аммо онҳо сатҳи муайяни таҷрибаи идоракунӣ ва нигоҳубинро талаб мекунанд. Азбаски мувозинатҳои сарбории сахтафзор нисбат ба мувозинатҳои сарбории нармафзор камтар чандир ва миқёспазиранд, майл ба таъмини мувозинатҳои сарбории сахтафзор вуҷуд дорад.
Тавозуни сарбории нармафзор
Тавозуни сарбории нармафзор одатан нисбат ба ҳамтоёни сахтафзорашон осонтар аст. Онҳо инчунин аз ҷиҳати иқтисодӣ самараноктар ва мутобиқшавандаанд ва онҳо бо муҳити таҳияи нармафзор хуб кор мекунанд. Усули нармафзор ба шумо имкон медиҳад, ки тавозуни сарбориро ба талаботи дақиқи муҳити худ мутобиқ созед. Афзоиши чандирии метавонад аз ҳисоби вақти иловагӣ барои таъсиси мувозинаткунандаи сарборӣ сарф шавад.
Тавозуни нармафзор ба шумо барои тағирот ва навсозӣ нисбат ба сахтафзор, ки равиши бештари қуттии пӯшида доранд, чандирии бештар фароҳам меорад. Мошинҳои виртуалии қаблан бастабандишуда метавонанд ҳамчун мувозинати сарбории нармафзор (VMs) истифода шаванд. Мошинҳои виртуалӣ ба шумо вақти танзимро сарфа мекунанд, аммо онҳо на ҳама функсияҳои дар ҳамтоёни сахтафзори худ мавҷудбударо надоранд.
Амалисозии оддии мувозинати сарборӣ
Мо китобхонаи Spring Cloud -ро истифода мебарем сохтани барномаҳо ки ба дигар барномаҳо ба таври мутавозуни сарборӣ пайваст мешаванд. Ҳангоми коркарди дархостҳои хидматрасонии дурдаст, мо метавонем ба осонӣ тавозуни сарбориро бо истифода аз ҳар гуна техникаи ба мо маъқул созем. Рамзи зеринро ҳамчун намуна баррасӣ кунед. Мо бо як барномаи асосии сервер оғоз мекунем.
Сервер танҳо як нуқтаи ниҳоии HTTP дорад ва дар якчанд мавридҳо кор карда мешавад. Сипас, мо як барномаи муштарӣ месозем, ки Load Balancer-ро барои паҳн кардани дархостҳо дар якчанд мисолҳои сервер истифода мебарад.
Сервер
Мо бо як асос оғоз мекунем Мӯзаи баҳорӣ барнома барои мисоли сервери мо:
Барои оғоз, мо як тағирёбандаи фармоишӣ бо номи instance_ID ворид мекунем. Ин ба мо кӯмак мекунад, ки байни мисолҳои сершумори амалкунанда фарқ кунем. Пас аз он, мо як нуқтаи ниҳоии HTTP GET эҷод мекунем, ки паём ва ID-и мисолро бармегардонад.
Намунаи пешфарз бо ID 1 дар бандари 8080 кор мекунад. Барои оғоз кардани нусхаи дуюм ба мо танҳо чанд параметри барнома илова кардан лозим аст:
мизоҷ
Биёед ҳоло ба рамзи муштарӣ назар кунем. Дар ин ҷо Load Balancer ворид мешавад, аз ин рӯ биёед бо ворид кардани он ба замимаи мо оғоз кунем:
Пас аз он, мо татбиқи ServiceInstanceListSupplier-ро таҳия мекунем. Ин яке аз муҳимтарин интерфейсҳои Load Balancer мебошад. Он муайян мекунад, ки мо намунаҳои хидматрасонии дастрасро чӣ гуна ҷойгир мекунем.
Мо дар барномаи намунавии худ ду мисоли алоҳидаи сервери намунаи худро сахт рамзгузорӣ мекунем. Онҳо дар як система кор мекунанд, аммо портҳои алоҳидаро истифода мебаранд:
Ҳоло синфи LoadBalancerConfiguration эҷод кунед:
Ин синф танҳо як ҳадаф дорад: он барои қабули дархостҳои дурдаст як созандаи WebClient-ро бо сарборӣ месозад. Шарҳи мо номи хаёлиро барои хидмат истифода мебарад.
Ин ба он вобаста аст, ки мо эҳтимолан номҳои дақиқи мизбон ва портҳоро барои иҷро кардани мисолҳо пеш аз вақт намедонем. Дар натиҷа, мо номи сохтаро ҳамчун ҷойнишин истифода мебарем ва чаҳорчӯба ҳангоми интихоби намунаи иҷрошаванда маълумоти воқеиро иваз мекунад.
Минбаъд, биёед синфи конфигуратсияро созем, ки барои эҷоди таъминоти намунаҳои хидматрасонии мо истифода мешавад. Аҳамият диҳед, ки мо ҳамон тахаллуси қаблиро истифода мебарем:
Ҳоло мо метавонем барномаи воқеии муштариро созем. Биёед 10 дархостро ба сервери намунавӣ бо истифода аз лӯбиёи WebClient аз қабл ирсол кунем:
Мо аз натиҷа мебинем, ки мо байни ду мисоли алоҳида мувозинати сарборӣ мекунем:
Мувозинати сарборӣ дар Microservices
Архитектураи Microservice аз ҷониби якчанд ширкатҳо, ба монанди Netflix ва Amazon, барои таҳияи барномаҳои тиҷоратӣ ҳамчун маҷмӯи хидматҳои ба таври озод пайвастшуда истифода мешавад. Интиқоли гипермиқёс ва пайваста барои замимаҳои мураккаб танҳо ду сабаби гузаштан ба ин меъмории тақсимшуда ва суст пайвастшуда мебошад.
Дастаҳои ин корхонаҳо стратегияҳои Agile ва DevOps-ро амалӣ кардаанд, то барномаҳо нисбат ба усулҳои анъанавӣ зудтар ва сатҳи нокомии камтар истеҳсол кунанд. Бо вуҷуди ин, шумо бояд мувозинат байни мураккабии меъмории тақсимшуда ва талаботҳои барнома, талаботҳои миқёс ва маҳдудиятҳои вақт ба бозорро риоя кунед.
Дар тӯли солҳои зиёд, контроллерҳои интиқоли барномаҳо (ADCs) барои қонеъ кардани талаботҳои сатҳи хидмат барои барномаҳои корпоративӣ, ки дар дохили бино ё дар абр ҷойгир шудаанд, муҳим буданд. Муштарие, ки бо барномаи хидматрасонии микросервис машғул аст, лозим нест, ки дар бораи мисолҳое, ки онро таъмин мекунанд, барои мустақилона афзоиш додани мизоҷ ва хидматрасониҳои хурд донист.
Ин маҳз ҷудокунӣ аз ҷониби прокси баръакс ё мувозинати сарборӣ мебошад. Боз ҳам, мувозинати сарборӣ роҳи ҳалли он аст, ки хидматрасониҳои микросервисҳо метавонанд талабот, амният ва мавҷудиятро идора кунанд.
Вақте ки шумо мувозинати анъанавии сарбории Шимолу Ҷанубро дар байни барномаҳои мизоҷ ва хидматрасонии хурд бо ҷойгиркунии Шарқу Ғарб барои миқёспазирии уфуқӣ муттаҳид мекунед, шумо афзоиши назаррас ба даст меоред. Ҳадафи он нигоҳ доштани муҳити бехатар ва танзимшавандаи IT бидуни қурбонии қобилияти рушд ё Автоматикунонии DevOps талаботҳо.
Манфиатҳо
Мувозинати сарборӣ тавассути беҳтар кардани истифодаи захираҳо, интиқоли додаҳо ва вақти вокуниш барои вебсайтҳо ва барномаҳои сердаромад ва инчунин пойгоҳи додаҳо, ки шумораи зиёди дархостҳоро ба даст меоранд, манфиатҳои гуногун фароҳам меорад. Мувозинати сарборӣ кафолат медиҳад, ки дархостҳои корбарон дар сенарияҳои трафики баланд зуд ва дуруст иҷро карда мешаванд.
Онҳо корбаронро аз бад шудани кор бо барномаҳо ва захираҳои суст сарфа мекунанд. Мувозинати сарборӣ инчунин барои пешгирӣ кардани вақти бекорӣ ва содда кардани амният, коҳиш додани хатари аз даст додани маҳсулнокӣ ва даромад барои ширкати шумо кӯмак мекунад.
- Мувозинати сарборӣ чандирии илова ва хориҷ кардани серверҳоро мувофиқи талабот таъмин мекунад, ба ғайр аз идоракунии трафик ба самаранокии беҳтарин. Азбаски трафик ҳангоми нигоҳдорӣ ба серверҳои дигар равона карда мешавад, инчунин бе халалдор кардани корбарон нигоҳдории серверро иҷро кардан мумкин аст.
- Мувозинати сарборӣ изофаи дохилиро тавассути тақсим кардани трафик дар байни маҷмӯи серверҳо таъмин мекунад. Шумо метавонед фавран сарбориро ба серверҳои дигар интиқол диҳед, агар яке аз онҳо ноком шавад, таъсирро ба корбарон кам кунед.
- Агар истифодаи барнома ё вебсайт афзоиш ёбад, трафики зиёдшуда метавонад кори онро паст кунад, агар самаранок истифода нашавад. Бо мувозинати сарборӣ, шумо метавонед сервери воқеӣ ё виртуалиро барои қонеъ кардани талабот бе халалдор кардани хидмат илова кунед. Тавозуни сарборӣ серверҳои навро ҳангоми онлайн шуданашон муайян мекунад ва онҳоро ба осонӣ ба амалиёт дохил мекунад. Ин усул барои интиқоли вебсайт аз сервери пурборшуда ба сервери нав, ки аксар вақт вақти бекориро дар бар мегирад, афзалтар аст.
хулоса
Мувозинати сарборӣ ҷузъи муҳими системаҳои муосир ва ба хатогиҳо тобовар аст. Мо метавонем танҳо барномаҳое созем, ки дархостҳоро ба якчанд хидматрасонӣ бо истифода аз равишҳои гуногуни мувозинати сарборӣ паҳн мекунанд. Корхонаҳо бояд системаҳои мураккаби IT-ро дастгирӣ кунанд, то барномаҳоро бехатар таъмин кунанд.
Конфигуратсия, ҷобаҷогузорӣ ва нигоҳдории микросервисҳои байнидоменӣ метавонад ба хатогӣ моил, гарон ва вақтро сарф кунад. IT бояд аз таҷрибаҳо ва технологияҳои беҳтарини автоматизатсия, намоёнӣ, таҳлил ва оркестрсозӣ истифода барад, ки бо равандҳои agile ва DevOps онҳо мувофиқанд, то танзим ва нигоҳдории ин микросервисҳоро осон кунанд.
Дин ва мазҳаб