Ізоляція та витончена деградація - це загальні стратегії. (Ще один термін, який ви можете побачити, схожий на ізоляцію, є роз'єднанням , хоча я схильний бачити, що в меншому масштабі, наприклад, в OOD / P. Концепція така ж.)
Ви ізолюєте різні частини системи один від одного, так що якщо одна не працює, інші можуть відповідати на запити. Як сказано в блозі Netflix , якщо пошук не працює, потокове передавання все одно буде добре. Це просто означає, що пошук і потокове передача там, де їх розділили достатньо, щоб вузьке місце або недієздатність одного не вплинули на інший.
З витонченою деградацією, якщо найкращого впровадження чогось недоступного, у вас є щось інше. Знову з посту Netflix вони мають систему для перегляду речей, які ви спостерігали та сподобалися, а потім опрацювання персоналізованих рекомендацій інших речі для перегляду. Якщо ця система не працює, вони повертаються до показу рекомендацій із загальнодоступних речей. Сенс у тому, щоб мати план B, план C тощо, щоб щось робити або показувати, коли план A не працює, а не показує нічого або помилку.
Один загальний приклад витонченої деградації на стороні клієнта (незалежно від того, реалізація є загальною чи ні) включає використання JavaScript на веб-сайтах. Якщо javascript у веб-переглядачі відключений або просто недоступний, сторінки сайту все-таки повинні успішно працювати без нього. Це може бути не таким швидким або гладким, але воно все ж має працювати, а не стати непридатним.
Це дуже загальні ідеї. Практично кожен проект реалізував би їх по-різному, залежно від послуг та підсистем, які вони надають, та залежностей між ними.