Автор также соприкоснулся с концепцией аварийного восстановления фронтенда, проработав более 2 лет, ведь проект меньше определенного масштаба и не нуждается в аварийном восстановлении фронтенда.
Что такое аварийное восстановление
Концепция аварийного восстановления начинается с серверной части и относится к экстренным мерам в случае стихийного бедствия, отключения и отключения питания сервера или компьютерного зала, которые могут гарантировать, что услуги по-прежнему доступны. У новых участников могут возникнуть вопросы: как обеспечить нормальный доступ к веб-сайту при отключении сети и отключении электроэнергии? На самом деле это вызвано отсутствием глубокого понимания крупномасштабных веб-сайтов.
Естественно, такая служба на одной машине не может выполнять аварийное восстановление, эта машина также зависнет, если служба зависнет. Но сегодняшние масштабные сайты не такие, как на картинке выше, а вот такиенесмотря на этоСамым внешним стрессоустойчивым сервером обычно является Nginx или Apache, который можно использовать для блокировки машины, когда она зависает.
Я говорю это только для того, чтобы вы поняли, что такое аварийное восстановление, которое сегодня не в центре внимания. Сегодня основное внимание уделяется аварийному восстановлению переднего плана.
Что такое внешнее аварийное восстановление
Внешнее аварийное восстановление означает, что даже когда внутренний интерфейс не работает, полная информация, отображаемая на странице, по-прежнему может быть гарантирована. Возьмем в качестве примера новостной модуль на главной странице Baidu.Когда вы открываете Baidu, после того, как страница, обработанная сервером, выходит, вам нужно запросить новостной интерфейс, чтобы получить новостной модуль рендеринга данных. Ваш начальник говорит вам, что новости и реклама должны быть показаны при любых обстоятельствах, даже если новостной интерфейс не работает. Что делать в это время — это категория аварийного восстановления переднего плана.
Доступные методы внешнего аварийного восстановления
данные интерфейса буфера localstorage
Интерфейс модуля новостей каждый раз, когда происходит возврат, сохраняется в локальном хранилище с путем интерфейса в качестве ключа и возвращаемыми данными в качестве значения.Если запрос интерфейса новостей завершается неудачно, сначала считываются данные последнего успешного запроса. из локального хранилища и отобразить его.
Резервное копирование статических данных в CDN
Попросите владельца предоставить копию итоговых данных новостей и сохранить их в CDN. Если интерфейс новостей не возвращается и в локальном хранилище пользователя нет данных, перейдите по соответствующему адресу CDN, чтобы получить данные. для рендеринга.
Используйте API кэшей Service Worker для кэширования интерфейса страницы.
Сервисный работник предоставляет событие выборки для мониторинга. Когда страница отправляет запрос, она сначала проходит через метод выборки. Здесь вы можете определить любую стратегию кэширования, которая вам нужна, например, сохранение результата в кеши после успешного выполнения запроса. В сервис-воркере вы даже можете кэшировать HTML-код текущей страницы, чтобы сайт работал в автономном режиме.
С помощью вышеуказанных методов можно гарантировать, что целостность страницы может быть гарантирована до тех пор, пока пользователю выдается HTML. Что касается того, что страница всегда может выдать HTML, то она принадлежит студентам, изучающим бэкенд и эксплуатацию и техническое обслуживание. Это можно решить с помощью кластерного метода, который я представил выше, или с помощью CDN (динамический DNS).
Вышеупомянутые три метода аварийного восстановления переднего плана, которые автор использовал в своей работе.Если у вас есть идеи получше, вы можете рассказать мне в области комментариев, спасибо