Betakarítás, hozam és méretezhető toleráns rendszerek: összefoglalás

Ez a cikk összefoglalja az Eric Brewer és Amando Fox által 1999-ben megjelent „Betakarítás, hozam és méretezhető toleráns rendszerek” című cikk összefoglalóját. Minden hozzárendelés nélküli idézet ebből a cikkből származik.

A cikk a következetesség és az elérhetőség (CAP) közötti kompromisszumokkal foglalkozik a nagy rendszerek esetében. Nagyon könnyű rámutatni a KAP-ra, és kijelenteni, hogy egyetlen rendszer sem lehet következetes és elérhető.

De van egy fogás. A KAP-ot sokféleképpen félreértették. Amint azt Coda Hale kitűnő blogbejegyzésében „Nem áldozhatja fel a partíciótűrést” kifejti:

A KAP-tétel következetessége, rendelkezésre állása és partíciótűrése közül az elosztott rendszerekben kötelező a partíciótűrés. Nem lehet nem választja meg. A CAP helyett a rendelkezésre állásodra kell gondolni a hozam (a megkeresések sikeresen megválaszolt százaléka) és a betakarítás (a válaszokban ténylegesen szereplő szükséges adatok százaléka) és a rendszer közül melyik áldozata lesz, ha hibák történnek.

A cikk a nagyszabású rendszerek elérhetőségének növelésére összpontosít hibatűréssel, elszigeteléssel és elszigeteléssel:

Feltételezzük, hogy az ügyfelek lekérdezik a szervereket, ebben az esetben legalább két mutató van a helyes viselkedéshez: a hozam, amely a kérés kitöltésének valószínűsége, és a betakarítás, amely a válaszban megjelenő adatok töredékét méri, azaz a lekérdezésre adott válasz teljessége.

A két mutató, a betakarítás és a hozam a következőképpen foglalható össze:

  • Betakarítás : válaszadatok / összes adatok

    Például: Ha az egyik csomópont lent van egy 100 csomópontos fürtben, akkor a hiba időtartama 99%.

  • Hozam : sikerrel teljesített kérelmek / a kérések teljes száma

    Megjegyzés: A hozam különbözik az üzemidőtől. A hozam a kérések számával foglalkozik, nem csak azzal az idővel, amikor a rendszer nem tudott válaszolni a kérésekre.

A cikk azt állítja, hogy vannak olyan rendszerek, amelyek minden alkalommal tökéletes választ igényelnek a kérdésekre. Vannak olyan rendszerek, amelyek egyszerre elviselik a tökéletlen válaszokat.

Rendszereink általános rendelkezésre állásának növelése érdekében gondosan át kell gondolnunk a szükséges következetességet és rendelkezésre állási garanciákat.

Kereskedési aratás a hozamért - valószínűségi rendelkezésre állás

Szinte minden rendszer valószínűségi, függetlenül attól, hogy megvalósítja-e vagy sem. Különösen minden olyan rendszer, amely 100% -ban rendelkezésre áll egyetlen hiba alatt, valószínűsíthetően összességében elérhető (mivel többszörös hiba valószínűsége nulla)

A cikk az elérhetőség valószínűségi természetének megértéséről szól. Ez segít megérteni és korlátozni a hibák hatását azáltal, hogy döntéseket hoz arról, hogy mire van szükség és milyen hibákkal tud a rendszer foglalkozni.

Felvázolják a betakarítás lineáris lebomlását több csomópontos hiba esetén. A betakarítás egyenesen arányos a megfelelően működő csomópontok számával. Ezért lineárisan csökken / növekszik.

Két stratégiát javasolnak a hozam növelésére:

  1. Az adatok véletlenszerű eloszlása ​​a csomópontokon

    Ha az egyik csomópont lemegy, az átlagos és a legrosszabb hiba viselkedése nem változik. Mégis, ha az eloszlás nem véletlenszerű, akkor az adatok típusától függően a hiba hatása változhat.

    Például, ha csak az egyik csomópont tárolja a felhasználó számlaegyenlegével kapcsolatos információkat, akkor a teljes bankrendszer nem fog tudni működni.

  2. A legfontosabb adatok megismétlése

    Ez csökkenti a hatást abban az esetben, ha a kiemelt adatok egy részhalmazát tartalmazó csomópontok valamelyike ​​lecsökken.

    Javítja a betakarítást is.

Egy másik figyelemre méltó észrevétel a tanulmányban, hogy lehetséges az összes adat másolása. Nem sokat javít a betakarításon / termésmennyiségen, de jelentősen megnöveli a működtetés költségeit. Ennek oka, hogy az internet a legnagyobb erőfeszítésekkel működő protokollok alapján működik, amelyek soha nem garantálják a 100% -os termést / hozamot.

Alkalmazásbontás és ortogonális mechanizmusok

A második stratégia az ortogonális rendszertervezés előnyeire összpontosít.

Először kijelenti, hogy a nagy rendszerek olyan alrendszerekből állnak, amelyek nem tolerálják a hibákat. De kudarcot vallanak olyan módon, amely lehetővé teszi az egész rendszer működését, némi hatással a hasznosságra.

A tényleges előny az a képesség, hogy az egyes alrendszerek állapotkezelését külön-külön tudják biztosítani, erős konzisztenciát vagy tartós állapotot biztosítva csak azoknak az alrendszereknek, amelyekre szükségük van, és nem az egész alkalmazásnak. A megtakarítás akkor lehet jelentős, ha csak néhány kicsi alrendszer igényli az extra bonyolultságot.

A cikk megállapítja, hogy az ortogonális komponensek teljesen függetlenek egymástól. Nincsenek futási idő interfészük más összetevőkhöz, hacsak nincs konfigurációs interfész. Ez lehetővé teszi az egyes komponensek önálló meghibásodását, és minimalizálja azok hatását a teljes rendszerre.

Az ortogonális alrendszerek összetétele az esetleges káros interakciók ellenőrzésének terhét a futásidőről a fordítási időre terjeszti, az ortogonális védőmechanizmusok telepítése pedig javítja a hibák fékezésének javulását az előforduló futásidejű interakciók robusztusságát illetően.

A cikk célja az volt, hogy motiválja a kutatásokat a hibatűrő és rendkívül elérhető nagyméretű rendszerek tervezése terén.

Továbbá, hogy alaposan átgondoljuk a konzisztenciát és a rendelkezésre állási garanciákat, amelyeket az alkalmazásnak biztosítania kell. Valamint a kompromisszumokat, amelyeket a betakarítás és a termés szempontjából képes elérni.

Ha tetszett ez a papír, kérjük, nyomja meg a taps gombot, hogy minél többen láthassák. Köszönöm.

PS - Ha eddig eljutott, és szeretne levelet kapni, valahányszor közzéteszem a bejegyzések egyikét, regisztráljon itt.