paint-brush
Жүктөлүштү теңдөөчү примитивдерди чечмелөөтарабынан@fairday
39,939 окуулар
39,939 окуулар

Жүктөлүштү теңдөөчү примитивдерди чечмелөө

тарабынан Aleksei4m2024/02/26
Read on Terminal Reader
Read this story w/o Javascript

өтө узун; Окуу

Көбөйгөн трафикти жана колдонуучуларды жайгаштыруу үчүн тутумуңузду масштабдаганда, сервердин күчүн жогорулаткан вертикалдык масштабдоо жана серверлерди кайталоону камтыган горизонталдуу масштабдоону тандай аласыз. Вертикалдуу масштабдоо жөнөкөй болгону менен, аппараттык чектөөлөр сыяктуу чектөөлөр бар. Жүгүн тең салмактоочулар менен горизонталдуу масштабдоо ийкемдүүлүктү сунуштайт, бирок жарандыгы жокторду башкарууну жана стратегияларды колдонууну талап кылат. L4 жана L7 жүк балансын түшүнүү абдан маанилүү, L4 коопсуз жана натыйжалуураак, ал эми L7 натыйжалуулуктун эсебинен акылдуу маршрутту сунуштайт. Туура ыкманы тандоо тутумдун талаптарына жана коопсуздукту жана аткарууну эске алуудан көз каранды.

People Mentioned

Mention Thumbnail
featured image - Жүктөлүштү теңдөөчү примитивдерди чечмелөө
Aleksei HackerNoon profile picture
0-item


Системаңыз өскөн сайын, трафик көбөйүп, колдонуучулардын саны барган сайын көбөйүп, өнүмдөрүңүздү колдонсо, серверлер жайыраак жооп бере баштайт, иштебей калуу бизнесиңизди азап тартууга мажбурлайт, анан сиз масштабдоо жөнүндө ойлоно баштайсыз.


Масштабдоо үчүн эки негизги стратегия бар - вертикалдуу жана горизонталдуу.


Вертикалдуу масштабдоо серверлериңизге адатта көбүрөөк CPU жана RAM кошуу менен системанын күчүн жогорулатууну көздөйт.


Ал эми, горизонталдуу масштабдоо серверлериңизди ресурстардын бассейнинде кайталоого (же клондоштурууга) багытталган.


Булар боюнча көбүрөөк:


Вертикалдуу масштабдоо

Вертикалдуу масштабдоо - трафик аз система үчүн эң жакшы вариант, анткени бул кошумча татаалдыкты киргизбестен өсүүнү башкаруу үчүн эң жеткиликтүү ыкма. Ресурстардын тобу үчүн стратегияларды жайылтуу, ресурстар пулунун ийкемдүүлүгү, сервериңиздин жарандыгы жок, бөлүштүрүлгөн кэш ж.б.у.с. жөнүндө кам көрүүнүн кереги жок.


Бирок, тик масштабдуу олуттуу кемчиликтери бар

  1. Аппараттык камсыздоо чеги, анткени ресурстарды кошуу чексиз мүмкүн эмес
  2. Иштебей калуу жана ашыкча иштебей калуу узакка токтоп калуу жана маалыматтарды жоготуу коркунучун жогорулатат


Горизонталдык масштабдоо

Горизонталдык масштабдоо бул көйгөйлөрдү колдонмо серверлериңизди клондоо жана Load Balancer сыяктуу компонентти кыстаруу аркылуу жок кылат.


Жүктөлгөн баланстоочу серверлериңиздеги трафикти белгилүү алгоритмдерди колдонуп бөлүштүрөт, мисалы:


  1. Раунд-робин
  2. Салмактуу тур
  3. IP хэш негизиндеги ыкмалар
  4. Эң аз байланыш ыкмасы
  5. Салмактуу эң аз байланыш ыкмасы
  6. Эң аз жооп берүү ыкмасы жана башкалар.


Ошентсе да, анын бир нече кемчиликтери бар:


  1. Серверлер жарандыгы жок болушу керек
  2. Сессиялар борборлоштурулган маалымат сактагычында сакталышы керек
  3. Татаалыраак стратегияларды жайылтуу талап кылынышы мүмкүн
  4. Жүктөлгөн тең салмактуулук туура эмес конфигурацияланса жана ресурстар жетишсиз болсо, иштөө тармагы болуп калышы мүмкүн
  5. Бул системага кошумча татаалдыкты киргизет жана үзгүлтүккө учуратуу стратегияларын колдонууну талап кылган мүмкүн болуучу жалгыз чекит катары турат.


L4 / L7 Жүктүн тең салмактуусу

Интернеттеги эки түзмөк бири-бири менен байланышы үчүн, негизги системалар белгилүү бир протоколдорго баш ийиши керек. Компьютер системалары тармак аркылуу байланышуу үчүн колдонгон жети катмарды сүрөттөгөн OSI модели жөнүндө бардыгы укту. Заманбап интернет жөнөкөй TCP/IP протокол стек моделине негизделгенине карабастан, OSI модели кеңири колдонулат, анткени ал тармактардын кандайча иштээрин визуализациялоого жана байланышууга жардам берет жана тармактык көйгөйлөрдү изоляциялоого жана оңдоого жардам берет.


Көпчүлүк тармактык жүктөрдү тең салмактоо чечимдери L4 жана L7 терминдерин колдонушат, мында L4 OSI моделиндеги транспорттук катмарга, ал эми L7 колдонмо катмарына тиешелүү.


L4 жүк балансы дагы эле L2/L3 бойдон калууда, анткени ал IP дареги жана порт номери сыяктуу төмөнкү катмардагы маалыматтарды колдонот.


L4 жүк балансынын негизги артыкчылыктары

  • Ал коопсуз жана натыйжалуураак, анткени маалымат мазмуну маршруттук чечимдерди кабыл алууда кабыл алынбайт

  • Ошол эле TCP байланышы кардар менен сервердин ортосунда болот, бул жүк балансындагы жеткиликтүү TCP туташууларынын чегинен ашпоого жардам берет


L4 жүк балансынын негизги кемчиликтери

  • Мазмун чечмеленбегендиктен, акылдуу багыттоо мүмкүн эмес
  • Мамлекеттик протокол кошумча татаалдыкты алып келет
  • Коомдук жана жеке даректердин ортосундагы карта түзүү
  • Бул деңгээлде мазмун жеткиликсиз болгондуктан кэш жок
  • Микросервис архитектурасы үчүн колдонуу мүмкүн эмес, анткени трафикти кайра багыттоо url жолунун негизинде жеткиликтүү эмес


Башка жагынан алып караганда, L7 жүк баланстоочу OSI моделиндеги колдонмо деңгээлинде иштейт


L7 жүк балансынын негизги артыкчылыктары

  • Акылдуу чечимдер URL жолунун, аталыштардын, мазмундун негизинде кабыл алынышы мүмкүн

  • Кэштөө


L7 жүк балансынын негизги кемчиликтери

  • Эки TCP байланышын сактоого байланыштуу кошумча чыгымдар, бири кардар менен жүк балансынын ортосунда, экинчиси жүк баланстоочу менен сервердин ортосунда. Ошондой эле, жүк баланстоочу TCP туташуу чеги каралышы керек
  • Кооптуулугу азыраак, анткени жүктөөнү тең салмактоочу тастыктамаларды билиши керек, анткени маалыматтардын шифрин чечип, маршруттук чечимди кабыл алуу үчүн


Корутунду

Трафиктин көп тутумдарын иштетүү үчүн горизонталдуу масштабдоо колдонулганда жүк баланстоочу маанилүү компонент болуп саналат. L4 жана L7 жүк балансынын эки негизги түрү бар.


  1. L4 жүк балансы акылдуу чечимдерди кабыл алуудагы чектөөлөрдөн улам алда канча коопсуз жана натыйжалуу

  2. L7 жүк балансы натыйжалуулугун жана коопсуздугунун наркынан улам акылдуу маршруттук чечимдерди камсыз кылуу үчүн иштейт.


Тиешелүү түрдү тандоо системанын талаптарына жараша болот жана коопсуздук принциптерин колдонуунун акылга сыярлык тең салмактуулугу менен жана аткаруудагы тоскоолдуктарды жок кылуу менен кылдаттык менен каралышы керек.