Какво е висока наличност

Оферта от 8host.com

наличност

Мащабируемостта и високата наличност стават все по-популярни с нарастващото търсене на надеждни инфраструктури с висока производителност, предназначени да обслужват критично важни системи. Намаляването на престоя и премахването на единични точки на повреда са също толкова важни въпроси, колкото справянето с увеличеното натоварване на системата. Висока наличност - качество на инфраструктурата, което може да ги премахне.

Висока наличност

При програмирането терминът наличност се използва, за да опише интервала от време, през който е налична услуга, както и времето, необходимо на системата да отговори на потребителска заявка. Високата наличност е качеството на система или компонент, което осигурява високо ниво на производителност за определен период от време.

Измерване на наличността

Наличността често се изразява като процент, който показва нивото на ъптайм, което се очаква от конкретна система или компонент за определен период от време. В този случай 100% наличност означава, че системата никога не се проваля; съответно система, която осигурява 99% наличност за една година, може да има до 3,65 дни престой (1%).

Тези стойности се изчисляват въз основа на няколко фактора, включително планирана и непланирана поддръжка, и времето, необходимо за разрешаване на възможна повреда на системата.

Как работи високата наличност?

Високата наличност се използва като механизъм за бързо реагиране при бедствия. Този механизъм е съвсем прост, но обикновено изисква специализиран софтуер и конфигурация.

Когато е необходима висока наличност?

Минимизирането на престоя и прекъсванията в обслужването е от решаващо значение при изграждането на устойчиви на повреди системи за производство. Без значение колко надеждна е системата и софтуерът, системата може да има проблеми, които да доведат до срив на приложението или сървъра.

Внедряването на инфраструктура с висока наличност е добра стратегия за намаляване на вероятността от възникване и минимизиране на въздействието на тези събития. Силно достъпните системи могат автоматично да извършват отказ на сървър или компонент.

Какво прави системата силно достъпна?

Една от целите на високата наличност е да се премахнат единични точки на отказ в инфраструктурата. Една точка на отказ е компонент на стека, който, ако се провали, унищожава цялата система или причинява липса на данни; т.е. всеки компонент, който е предпоставка за работата на приложението, се счита за единична точка на отказ.

За да се елиминират единични точки на повреда, всеки слой от стека трябва да бъде подготвен за резервиране. Като пример, да предположим, че имате инфраструктура, състояща се от два еднакви излишни уеб сървъра с балансиращ товар. Трафикът, идващ от клиенти, ще бъде равномерно разпределен между уеб сървърите, но ако някой от сървърите падне, балансиращият товара ще пренасочи целия трафик към останалия уеб сървър.

В тази ситуация уеб сървърът не е нито една точка на отказ, защото:

  • В клъстера има "резервен" компонент, който може да поеме всички задачи.
  • На друго ниво има механизъм (балансиращо натоварване), който може да открива откази в компонентите и да адаптира поведението си, за да възстанови своевременно работата на приложението.

Но какво ще стане, ако балансиращият товара не успее?

В описания сценарий (който е доста често срещан), единствената точка на повреда е балансьорът на товара.

Премахването на тази точка на провал не е лесно. Разбира се, можете лесно да конфигурирате допълнителен балансьор на натоварването, за да осигурите излишък, но в системата над балансиращите натоварвания няма компонент, който да може да се справи с откриването и възстановяването на повреда.

Съкращаването само по себе си не може да гарантира висока наличност.

Трябва да има специален компонент за откриване и разрешаване на инфраструктурни откази.

Откриването и отстраняването на неизправности може да се осъществи с метода отгоре-надолу: горният слой проследява отказите на долния слой. Да се ​​върнем към нашия пример; в такъв клъстер балансьорът на натоварването е най-горният слой. Ако един от уеб сървърите (долен слой) стане недостъпен, балансьорът на натоварването ще спре да пренасочва заявки към него.

Този подход е съвсем прост, но има своите ограничения: винаги ще има точка в инфраструктурата, за която горният слой отсъства или е недостъпен (както в случая с балансиращ товар). Създаването на услуга за откриване на грешки за балансиращ товар на външен сървър е равно на създаване на нова единична точка на повреда.

Този сценарий изисква разпределен подход. Необходимо е да се свържат няколко дублиращи се възли в клъстер, където всеки възел ще бъде еднакво способен да открива и елиминира повреда.

В такава ситуация може да се използва балансиране на кръг. Този подход обаче не е надежден, тъй като прехвърлянето ще бъде от страна на клиента на приложението.

Какви компоненти са необходими за поддържане на висока наличност?

За да конфигурирате висока наличност, трябва да бъдат инсталирани няколко системни компонента. Високата наличност обаче е много по-зависима от фактори като:

  • Околна среда: Ако всички сървъри в клъстера са разположени в една и съща географска област, външните условия (земетресения, наводнения и др.) Могат да доведат до пълен отказ на системата. Наличието на сървъри в различни центрове за данни и географски области ще увеличи толерантността към грешки.
  • Хардуер: Високодостъпните сървъри трябва да са устойчиви на прекъсвания на захранването и откази на хардуера, включително твърди дискове и мрежови интерфейси.
  • Софтуер: Целият софтуерен стек (включително операционната система и самото приложение) трябва да бъде подготвен за справяне със случайни сривове, които може да изискват рестартиране на системата.
  • Данни: Загубата и несъответствието на данните могат да бъдат причинени от няколко фактора. Силно достъпните системи трябва да вземат предвид необходимостта от защита на данните в случай на повреда.
  • Мрежа: Непланираните прекъсвания на мрежата представляват друга възможна точка на отказ за високодостъпни системи. Важно е да имате изградена резервна мрежова стратегия.

Какъв софтуер е необходим за висока наличност?

Всеки слой от високодостъпна система ще има различни нужди. На ниво приложение балансирането на натоварването е съществен компонент във високодостъпната система.

HAProxy (High Availability Proxy) е популярен инструмент за конфигуриране на балансиране на натоварването, тъй като ви позволява да обработвате натоварването на множество нива, както и за различни видове сървъри, включително сървъри на бази данни.

Заключение

Високата наличност е много важен аспект на надеждността на инфраструктурата, фокусиран върху осигуряването на високо ниво на производителност за определен период от време. На пръв поглед внедряването на висока наличност може да изглежда обезсърчително, но може да донесе много предимства на система, която изисква повишена надеждност.