Рубрика «надежность»

Это просто бомба или почему взрываются электронные устройства - 1

Читать полностью »

Привет, меня зовут Евгений. Я работаю в инфраструктуре поиска Яндекс.Маркета. Хочу рассказать сообществу Хабра о внутренней кухне Маркета – а рассказать есть что. Прежде всего, как устроен поиск Маркета, процессы и архитектура. Как мы справляемся с внештатными ситуациями: что случится, если упадёт один сервер? А если таких серверов будет 100?

А ещё вы узнаете, как мы внедряем новую функциональность на куче серверов сразу. И как тестируем сложные сервисы прямо в production, не доставляя пользователям никаких неудобств. В общем, как устроен поиск Маркета, чтобы всем было хорошо.

Как устроен поиск Яндекс.Маркета и что будет, если упадёт один из серверов - 1
Читать полностью »

Программист-защитник сильнее энтропии - 1

© Dragon Ball. Goku.

Программист-защитник в любой момент и в любом месте кода ожидает появления потенциальных проблем и пишет код таким образом, чтобы заранее от них защититься. А если от проблемы нельзя защититься, то хотя бы сделать так, чтобы её последствия и влияние на пользователей были минимальными.

Вспоминается эффект FlashForward из голливудских блокбастеров, когда главный герой видит грядущую катастрофу и остаётся предельно спокойным, потому что заранее знает, что она произойдёт, и имеет от неё защиту. Идея защитного программирования в том, чтобы защититься от проблем, которые сложно или вовсе невозможно предвидеть. Программист-защитник ожидает появления ошибок в любом месте системы и в любой момент времени, чтобы предотвратить их до того, как они нанесут ущерб. При этом цель не в том, чтобы создать систему, которая никогда не падает, это всё равно невозможно. Цель в том, чтобы создать систему, которая падает изящно в случае любой непредвиденной проблемы.

Давайте разберёмся подробнее, что входит в понятие «падать изящно».

  • Падать быстро. В случае непредвиденной ошибки все операции должны завершаться сразу же, особенно если последующие вычисления тяжёлые или могут привести к порче данных.
  • Падать аккуратно. Если возникла ошибка, программа должна освободить все ресурсы, снять локи, удалить временные и наполовину записанные файлы, закрыть соединения. Дождаться завершения критических операций, прерывание которых может привести к непредсказуемым результатам. Либо безопасным способом аварийно завершить эти операции.
  • Падать явно и красиво. Если что-то сломалось, сообщение об ошибке должно быть простым, лаконичным и содержать важные детали из того контекста системы, где возникла ошибка. Это поможет команде, которая отвечает за систему, максимально быстро разобраться в проблеме и исправить её.

Читать полностью »

Метод дублирования. 11 примеров из конструкции ДВС - 1

Дублирование (от французского doubler удваивать) в системе это вид резервирования, имеющего минимальную избыточность.

Статья эволюция развития автомобильных двигателей с начала 90-х годов вызвала интерес, и сильное обсуждение преобразований в двигателестроении. Эта статья будет ее продолжением без временных рамок, но с одним общим условием — все представленные примеры повысили надежность, и ряд других характеристик ДВС в лучшую сторону.

Читать полностью »

В комментариях к предыдущей публикации hhba поделился статьёй, которая сама по себе достойна отдельной публикации, настолько там красивые решения приводятся. В дополнение к её обзору я постараюсь поставить точкиу над «i» в вопросе применения пластиковых корпусов в космических приложениях. Этот вопрос частично затрагивался в первой части и в комментариях к ней, но сейчас он будет разобран подробней.

SamsPcbGuide, часть 12: Технологии — корпуса BGA-типа, пластик и космос II - 1

Читать полностью »

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

О важности подтверждения управляющих команд на примере Делимобиля - 1
Парковка «Сколковская»​
Читать полностью »

В обсуждениях к предыдущей статье proton17 написал, что в космос обычные BGA не летают, дав ссылки на корпуса CCGA-типа как образец надёжности. Я решил разобраться в этом вопросе и нашёл много интересной информации (во многом благодаря вот этому ↓ человеку).

SamsPcbGuide, часть 11: Технологии, корпуса BGA-типа и космос - 1

Читать полностью »

Исследование Устойчивости Национальных Сегментов Интернета за 2019 - 1

Данное исследование объясняет, каким образом отказ одной автономной системы (AS) влияет на глобальную связность отдельного региона, особенно в том случае, когда речь идет о крупнейшем провайдере интернета (ISP) данной страны. Связность интернета на сетевом уровне обусловлена взаимодействием между автономными системами. По мере увеличения количества альтернативных маршрутов между AS возникает устойчивость к отказам и повышается стабильность интернета в данной стране. Однако некоторые пути становятся более важными, по сравнению с остальными, и наличие как можно большего числа альтернативных маршрутов в итоге является единственным способом обеспечить надежность системы (в смысле AS).

Глобальная связность любой AS, независимо от того, представляет ли она второстепенного поставщика интернета или международного гиганта с миллионами потребителей услуг, зависит от количества и качества его путей к Tier-1 провайдерам. Как правило, Tier-1 подразумевает международную компанию, предлагающую глобальную услугу IP-транзита и подключение к другим Tier-1 операторам. Тем не менее, внутри данного элитного клуба нет обязательства поддерживать такую связь. Только рынок может придать мотивацию таким компаниям безоговорочно соединяться друг с другом, обеспечивая высокое качество обслуживания. Достаточный ли это стимул? Мы ответим на этот вопрос ниже — в секции, посвященной связности IPv6.

Если провайдер интернета теряет связь хотя бы с одним из собственных Tier-1 соединений, он, вероятнее всего, окажется недоступен в некоторых частях Земли.

Измерение надежности интернета

Представьте, что AS испытывает значительную сетевую деградацию. Мы ищем ответ на следующий вопрос: «Какой процент AS в этом регионе может потерять связь с Tier-1 операторами, тем самым утратив глобальную доступность»?
Читать полностью »

Как знают наши читатели, Qrator.Radar неустанно исследует глобальную связность протокола BGP, равно как и региональную. Так как «Интернет» является сокращением от «interconnected networks» — «взаимосвязанных сетей», наилучшим способом обеспечения высоких качества и скорости его работы является богатая и разнообразная связность индивидуальных сетей, чье развитие мотивировано в первую очередь конкуренцией.

Отказоустойчивость интернет-соединения в любом отдельно взятом регионе или стране связана с количеством альтернативных маршрутов между автономными системами — AS. Однако, как мы уже неоднократно писали в наших исследованиях национальной устойчивости сегментов глобальной сети, некоторые пути становятся более важными по-сравнению с остальными (например, пути до Tier-1 транзитных провайдеров или AS, на которых размещены авторитативные DNS-серверы) — это значит, что наличие как можно большего числа альтернативных маршрутов в итоге является единственным жизнеспособным способом обеспечить надежность системы (в смысле AS).

В этот раз, мы поближе посмотрим на устройство интернет-сегмента Российской Федерации. Есть причины не сводить глаз с данного сегмента: согласно данным, которые предоставляет база данных регистратора RIPE, к РФ относится 6183 AS из 88664 зарегистрированных глобально, что составляет 6,87%.

Такой процент ставит Россию на второе место в мире по данному показателю, сразу после США (30,08% зарегистрированных AS) и перед Бразилией, владеющей 6,34% всех автономных систем. Эффекты, которые возникают вследствие изменений российской связности, могут наблюдаться в других странах, зависимых от или примыкающих к данной связности и, наконец, на уровне почти любого интернет-провайдера.
Читать полностью »

Я провёл эксперимент и сравнил, как снижается световой поток разных светодиодных ламп в течение сорока минут после включения.

Долговечность светодиодных ламп и снижение светового потока - 1

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js