Случайный разговор: Как объяснить девушке доступность системы?

задняя часть

Солнечным днем ​​вторника я был в компании и смотрел на новые функции предстоящего выпуска 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, подсчитывая время от отказа до восстановления. Как правило, год используется для подсчета общего времени недоступности системы в течение одного года. Конкретное соответствующее отношение выглядит следующим образом:


Закон Мерфи гласит: «Что может пойти не так, то пойдет не так», а 100% юзабилити неуловимы.

Для метрик SLA чем выше число 9, тем выше доступность, ниже время простоя и выше процент времени, в течение которого система может работать должным образом в данный момент. Однако чем сложнее система, тем выше инвестиционные затраты. Например, 5 девяток требует, чтобы система была отключена всего около 5 минут в год, а 4 девятки требуют не более одного часа простоя в год. Это заставляет систему использовать различные методы на разных уровнях, таких как проектирование, инфраструктура, резервное копирование данных и т. д., и даже увеличивать инвестиции в инфраструктуру для обеспечения доступности.

«Когда ваше оборудование имеет дело с опасными для жизни вещами или перерыв в бизнесе стоит миллионы долларов в минуту, вы можете рассчитывать на надежность 99,99%», — Робертсон (разработчик проекта Linux High Availability).

Требования к доступности различных систем также различаются.Например, системы электронной коммерции, такие как Taobao и JD.com, имеют большое количество пользователей, и большое количество пользователей используют систему в разное время в разных регионах, что должно предъявляют высокие требования к доступности системы.

Основываясь на прошлой статистике отказов и неточных данных испытаний этих систем, их текущая доступность составляет от 3 9 до 4 9. Условно говоря, поскольку рабочее программное обеспечение корпоративного типа обычно используется только в рабочее время, или используется только в определенных областях, или используется только определенными людьми в определенное время, спрос на удобство использования будет ниже.

Гарантированная доступность

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

Обеспечение доступности включает в себя множество уровней, включая, помимо прочего:

  • Уровень проектирования программного обеспечения, кодирования, тестирования, ввода в эксплуатацию и управления конфигурацией программного обеспечения.

  • Уровень квалификации инженеров

  • Управление эксплуатацией и обслуживанием и технический уровень

  • Уровень управления работой ЦОД

  • Уровень управления, опирающийся на сторонние сервисы

  • отношение к технике

  • Инженерная культура компании

  • Лидеры уважают инженерию

В следующей таблице перечислены распространенные проблемы и меры по их устранению для обеспечения высокой доступности.


Обеспечение высокой доступности системы — непростая задача.В приведенной выше таблице приведена лишь часть методологии.Чтобы действительно обеспечить высокую доступность, все еще требуется много практики!

Использованная литература:

https://blog.csdn.net/hexieshangwang/article/details/49126159

https://dev.to/fangdajiang/-abilities-8e1

https://www.oracle.com/technetwork/cn/community/developer-day/7-critical-busi-sys-solution-360101-zhs.pdf

https://coolshell.cn/articles/17459.html

https://blog.csdn.net/hustspy1990/article/details/78008324