Кожны раз, калі ваша сістэма расце, павялічваецца трафік, усё больш і больш карыстальнікаў выкарыстоўваюць вашы прадукты, серверы пачынаюць рэагаваць павольней, прастоі прымушаюць ваш бізнес пакутаваць, тады вы пачынаеце думаць аб маштабаванні.
Ёсць дзве асноўныя стратэгіі маштабавання - вертыкальная і гарызантальная.
Вертыкальнае маштабаванне мае намер павялічыць магутнасць сістэмы шляхам дадання звычайна большай колькасці працэсара і аператыўнай памяці да вашых сервераў.
Наадварот, гарызантальнае маштабаванне сканцэнтравана на дубліраванні (або кланаванні) вашых сервераў у пуле рэсурсаў.
Больш пра гэта:
Вертыкальнае маштабаванне - лепшы варыянт для сістэмы з нізкім трафікам, таму што гэта найбольш даступны падыход для апрацоўкі росту без дадатковай складанасці. Вам не трэба клапаціцца пра разгортванне стратэгій для групы рэсурсаў, эластычнасць пула рэсурсаў, адсутнасць стану вашага сервера, размеркаваны кэш і гэтак далей.
Аднак вертыкальнае маштабаванне мае сур'ёзныя недахопы
Гарызантальнае маштабаванне ліквідуе гэтыя праблемы шляхам кланавання вашых сервераў прыкладанняў і ўбудавання такіх кампанентаў, як балансір нагрузкі .
Балансір нагрузкі размяркоўвае трафік на вашых серверах з дапамогай пэўных алгарытмаў, такіх як:
Тым не менш, ён мае некалькі недахопаў:
Каб дзве прылады ў інтэрнэце маглі мець зносіны адна з адной, асноўныя сістэмы павінны прытрымлівацца пэўных пратаколаў. Усе чулі пра мадэль OSI, якая апісвае сем узроўняў, якія кампутарныя сістэмы выкарыстоўваюць для сувязі па сетцы. Нягледзячы на тое, што сучасны Інтэрнэт заснаваны на больш простай мадэлі стэка пратаколаў TCP/IP, мадэль OSI шырока выкарыстоўваецца, паколькі яна дапамагае візуалізаваць і паведамляць, як працуюць сеткі, а таксама дапамагае ізаляваць і ліквідаваць праблемы з сеткай.
Большасць галіновых рашэнняў па балансіроўцы нагрузкі выкарыстоўваюць тэрміны L4 і L7, дзе L4 адносіцца да транспартнага ўзроўню ў мадэлі OSI, а L7 адносіцца да ўзроўню прыкладанняў.
Балансір нагрузкі L4 па-ранейшаму з'яўляецца L2/L3, паколькі ён выкарыстоўвае дадзеныя з ніжніх узроўняў, такія як IP-адрас і нумар порта.
Гэта больш бяспечна і прадукцыйна, паколькі змесціва дадзеных не ўлічваецца пры прыняцці рашэнняў аб маршрутызацыі
Такое ж злучэнне TCP захоўваецца паміж кліентам і серверам, што дапамагае прадухіліць перавышэнне ліміту даступных злучэнняў TCP на балансіроўшчыку нагрузкі
З іншага боку, балансір нагрузкі L7 працуе на прыкладным узроўні ў мадэлі OSI
Разумныя рашэнні можна прымаць на аснове URL-шляху, загалоўкаў і змесціва
Кэшаванне
Балансір нагрузкі з'яўляецца жыццёва важным кампанентам, калі гарызантальнае маштабаванне прымяняецца для апрацоўкі сістэм з вялікім трафікам. Ёсць два асноўных тыпу балансіраў нагрузкі L4 і L7.
Балансір нагрузкі L4 нашмат больш бяспечны і прадукцыйны з-за абмежаванняў у прыняцці разумных рашэнняў
Балансір нагрузкі L7 працуе такім чынам, каб забяспечваць інтэлектуальныя рашэнні па маршрутызацыі з-за кошту эфектыўнасці і бяспекі
Выбар адпаведнага тыпу залежыць ад сістэмных патрабаванняў і павінен разглядацца ўважліва з разумным балансам прымянення прынцыпаў бяспекі і ліквідацыі вузкіх месцаў у прадукцыйнасці.
Таксама апублікавана тут.