Солнечным днем вторника я был в компании и смотрел на новые функции предстоящего выпуска Java 12, когда мне позвонила моя девушка.
Вечером после работы моя девушка пришла домой и сказала мне, что через десять минут доступ к Taobao был в порядке.
Доступность системы, английское название System Usability, то есть отношение времени бесперебойной работы системных служб к фактическому времени работы. Таким образом, доступность на самом деле является процентом, например, 99,9%.
Обычно мы слышим слово «высокая доступность», которое на самом деле относится к высокой доступности. Высокая доступность означает, что время непрерывной работы системных служб составляет большую часть фактического времени работы.
Чтобы понять доступность, есть три важных показателя, отражающих доступность системы: MTTR, MTTF, MTBF.
MTTF означает среднее время до отказа, по-китайски: среднее время до отказа. Относится к среднему времени, в течение которого система работает без сбоев, и представляет собой среднее значение всех периодов времени от начала нормальной работы системы до возникновения сбоя.
MTTR означает Mean Time To Repair, по-китайски: Mean Time To Repair, что относится к среднему значению периода времени между сбоем системы и окончанием ремонта.
MTBF расшифровывается как среднее время наработки на отказ, по-китайски: среднее время между сбоями, которое относится к среднему значению периода времени между двумя сбоями системы.
MTBF = MTTF + MTTR
Согласно вышеизложенным понятиям, тогда доступность системы фактически означает:MTTF / MTBR * 100%которыйMTTF / ( MTTF + MTTR ) * 100%
В реальных ситуациях многие системы состоят из нескольких подсистем, так как же рассчитать доступность всей системы? Далее рассмотрим структуру системы.
Для тандемных систем:
Для измерения высокой доступности системы, как правило, через SLA, полное название — Соглашение об уровне обслуживания, то есть существует несколько высокой доступности из 9. Мы часто видим, что многие компании заявляют, что их системы могут достигать 99,99%, 99,999% и т. д.
В отрасли обычно измеряют SLA, подсчитывая время от отказа до восстановления. Как правило, год используется для подсчета общего времени недоступности системы в течение одного года. Конкретное соответствующее отношение выглядит следующим образом:
Для метрик SLA чем выше число 9, тем выше доступность, ниже время простоя и выше процент времени, в течение которого система может работать должным образом в данный момент. Однако чем сложнее система, тем выше инвестиционные затраты. Например, 5 девяток требует, чтобы система была отключена всего около 5 минут в год, а 4 девятки требуют не более одного часа простоя в год. Это заставляет систему использовать различные методы на разных уровнях, таких как проектирование, инфраструктура, резервное копирование данных и т. д., и даже увеличивать инвестиции в инфраструктуру для обеспечения доступности.
«Когда ваше оборудование имеет дело с опасными для жизни вещами или перерыв в бизнесе стоит миллионы долларов в минуту, вы можете рассчитывать на надежность 99,99%», — Робертсон (разработчик проекта Linux High Availability).
Требования к доступности различных систем также различаются.Например, системы электронной коммерции, такие как Taobao и JD.com, имеют большое количество пользователей, и большое количество пользователей используют систему в разное время в разных регионах, что должно предъявляют высокие требования к доступности системы.
Основываясь на прошлой статистике отказов и неточных данных испытаний этих систем, их текущая доступность составляет от 3 9 до 4 9. Условно говоря, поскольку рабочее программное обеспечение корпоративного типа обычно используется только в рабочее время, или используется только в определенных областях, или используется только определенными людьми в определенное время, спрос на удобство использования будет ниже.
На доступность влияет множество факторов, в том числе системные сбои, сбои инфраструктуры, сбои данных, атаки на систему безопасности, перегрузка системы и многое другое.
Обеспечение доступности включает в себя множество уровней, включая, помимо прочего:
Уровень проектирования программного обеспечения, кодирования, тестирования, ввода в эксплуатацию и управления конфигурацией программного обеспечения.
Уровень квалификации инженеров
Управление эксплуатацией и обслуживанием и технический уровень
Уровень управления работой ЦОД
Уровень управления, опирающийся на сторонние сервисы
отношение к технике
Инженерная культура компании
Лидеры уважают инженерию
В следующей таблице перечислены распространенные проблемы и меры по их устранению для обеспечения высокой доступности.