#%D0%BE%D1%82%D0%BA%D0%B0%D0%B7%D0%BE%D1%83%D1%81%D1%82%D0%BE%D0%B9%D1%87%D0%B8%D0%B2%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B

2025-08-06

Не теория, а практический опыт: как мы внедряли отказоустойчивость в лотереях

О паттернах отказоустойчивой архитектуры написано уже немало. Но когда дело доходит до реальных кейсов, особенно в специфических отраслях вроде лотерейной — информации почти нет. А ведь здесь, как и в любой высоконагруженной системе, отказоустойчивость — не просто галочка в ТЗ, а вопрос пользовательского доверия и бизнес-репутации. В этой статье расскажем, как мы в «Столото» подошли к проектированию Lottery Payment System. Это полностью вымышленный сервис для выплат выигрышей, построенный на опыте реальных вызовов и ограничений для того, чтобы на его примере описать, как работают ключевые паттерны отказоустойчивой архитектуры: Retry, Idempotency Key, Deadlines, Rate Limit и Circuit Breaker . Также покажем, как они применяются в контексте распределённой системы, которая должна стабильно работать, даже когда вокруг всё пошло не по плану. В нашем вымышленном сценарии мы представили, что компания прошла через архитектурную трансформацию и решила переосмыслить доменные области. Слишком громоздкий и хрупкий процессинг тормозил развитие. В какой-то момент он стал похож на башню из кубиков, которую боишься задеть. Поэтому мы выбрали путь здорового прагматизма — выплаты вынесли в отдельный сервис, чтобы дать этому направлению и стабильность, и простор для развития. В зоне его ответственности — всё, что связано с переводами пользователям, которые хотят получать выигрыши по лотерейным билетам и исполнять свои мечты. Будет немного архитектуры, чуть-чуть лирики и много практики. Это не скучный туториал — это живая история гипотетического продукта, в котором отказоустойчивость стала краеугольным камнем. Если вы работаете с высоконагруженными системами, и вам важно, чтобы ваши системы не падали — добро пожаловать.

habr.com/ru/companies/stoloto/

#архитектура #высоконагруженные_проекты #высокая_производительность #отказоустойчивость #отказоустойчивые_системы #ит_система

2025-06-05

Что не убивает, делает сильней: как мы тестируем СХД, «ломая» его по частям

Большинство серьезных сбоев в системах хранения данных происходят не из-за глобальных катастроф, а из-за незаметных повторяющихся отказов, на которые никто не рассчитывал: перегруженный контроллер, зависание диска, сбой питания в неподходящий момент. Такие ошибки не поймать быстрыми и однократными тестами. В целом, надежность системы хранения данных невозможно проверить абстрактно — только вживую, на реальном железе, часами, с полным погружением в нагрузку и нестабильность. Я Наталья Грязнова, ведущий инженер по разработке ПО в YADRO. Моя задача — не просто проверить, что СХД работает, а воспроизвести реальные риски отказа системы и проверить ее на устойчивость: высокая нагрузка, внезапные отказы компонентов системы, нестабильные внешние условия, например перебои в сети. В этом тексте расскажу, как мы тестируем отказоустойчивость СХД TATLIN.UNIFIED: какие сбои моделируем, как устроены автотесты и почему короткие прогоны не справляются с поиском критичных багов.

habr.com/ru/companies/yadro/ar

#тестирование #схд #отказоустойчивость #отказоустойчивые_системы #тестирование_отказоустойчивости

2025-05-20

Как построить инфраструктуру, которая не подведет: главное с митапа по отказоустойчивости

23 апреля на OMNI Infrastructure Meetup эксперты из Авито, Магнит OMNI, Лаборатории Касперского и Cloud.ru обсудили, как создавать системы, устойчивые к любым сбоям. Рассказываем о самых важных инсайтах. В московском офисе Магнита и онлайн собрались DevOps-инженеры, платформенные специалисты и разработчики, чтобы разобрать реальные кейсы повышения отказоустойчивости. Гибридный формат позволил присоединиться участникам из разных городов — дискуссия получилась по-настоящему живой. Делимся видео и презентациями докладов.

habr.com/ru/companies/magnit/a

#devops #devops_инженер #инфраструктура #отказоустойчивость #отказоустойчивые_системы #отказоустойчивые_решения #observability

2025-05-06

Работа с кластером DATAREON Platform — обзор основных возможностей, включая модуль горячего восстановления

На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». По моим предыдущим статьям, наверно, уже понятно, что я люблю разбираться с разными техническими решениями, поэтому когда DATAREON предложил мне тестовую лицензию на кластер с модулем горячего восстановления, я не стал отказываться. Будем разбираться с тем, как работает кластер серверов DATAREON и для чего нужен модуль горячего восстановления.

habr.com/ru/companies/w_code/a

#шины_данных #esb #отказоустойчивость #отказоустойчивые_системы #datareon #обзор

2025-04-10

High Availability в Postgres Pro без головной боли

Для тех, кто устал от «зоопарка» решений по созданию отказоустойчивых кластеров, расскажем, как добиться нужной функциональности одним решением. BiHA позволяет данным «выжить», даже если один из ЦОДов был физически уничтожен. Как же мы этого добились?

habr.com/ru/companies/postgres

#postresql #postrgres #biha #отказоустойчивость #отказоустойчивые_системы #резервирование #высокая_производительность #высокая_нагрузка #высокая_доступность

2025-04-10

Как защитить интернет-магазин от перегрузок: RPS, масштабирование и отказоустойчивость

Перегрузка интернет-магазина – головная боль владельца бизнеса. Сайт тормозит, корзина зависает, клиенты не могут оформить заказ. Почему это происходит? Как предотвратить коллапс системы в разгар распродаж? В этой статье расскажем, как повысить RPS и обеспечить отказоустойчивость. Поделимся планом действий и разберем кейс из нашей практики.

habr.com/ru/articles/892680/

#rps #отказоустойчивость #отказоустойчивые_решения #отказоустойчивые_системы #нагрузки

2025-04-05

Отказоустойчивая распределённая архитектура для UX-аналитики

UX-аналитика – это сбор и анализ данных о взаимодействии пользователей с интерфейсом (клики, скроллы, навигация и прочие события). Такие события генерируются в огромных количествах, особенно при большой аудитории приложения. Чтобы эффективно обрабатывать эту информацию, необходима распределённая архитектура, способная масштабироваться под высокий поток событий и обеспечивать отказоустойчивость – т.е. работать надёжно даже при сбоях отдельных компонентов. Также важна возможность обработки данных в реальном времени , чтобы как можно быстрее получать метрики и инсайты об опыте пользователей. В этой статье мы рассмотрим ключевые аспекты такой архитектуры: масштабирование UX-событий, надёжный сбор метрик с устройств (в том числе офлайн), реалтайм-аналитику на основе потоковых технологий (Kafka, Flink, Kafka Streams, ClickHouse) и механизмы гарантированной доставки событий (at-least-once, exactly-once, retry, дедупликация). В результате станет понятно, как правильно спроектированная система UX-аналитики позволяет оперативно находить проблемные места UI, проводить A/B тесты и глубже понимать поведение пользователей.

habr.com/ru/articles/897798/

#clickhouse #kafka #flink #kafka_streams #распределенные_системы #отказоустойчивые_системы #аналитика #анализ_данных #анализ_и_проектирование_систем #анализ

2025-04-01

Лучшие практики создания отказоустойчивых систем

Разработка отказоустойчивых систем представляет собой важнейшую компетенцию для инженеров, занятых созданием распределённых и масштабируемых приложений. Под отказоустойчивостью понимается способность системы сохранять работоспособность в условиях сбоев отдельных компонентов или недоступности внешних сервисов. В данной статье рассматриваются практики обеспечения устойчивости на уровне программного кода, в частности в контексте серверных приложений, реализованных на языках Python и Java. Особое внимание уделяется методам повышения надёжности при временных сбоях, включая: повторные попытки выполнения операций с экспоненциальной задержкой (exponential backoff), использование шаблона circuit breaker, механизмы плавной деградации функциональности (graceful degradation), задание таймаутов, реализация идемпотентности, ограничение одновременных вызовов (bulkhead isolation), а также внедрение систем мониторинга и алертинга. Приводимые примеры охватывают типовые сценарии — обращение к внешним API, взаимодействие с базами данных и выполнение фоновых задач.

habr.com/ru/articles/896638/

#python #java #spring_boot #aiohttp #безопасность #отказоустойчивые_системы #отказоустойчивость #чистый_код

2025-03-21

Повышение качества выпускаемого ПО путем работы с инцидентами

Всем привет! Меня зовут Даша Мельникова, я ведущий релиз-менеджер в МКБ. В рамках этой статьи буду говорить об инцидентах, которые переходят на третью линию (на команду разработки). А еще о такой сущности, как инцидент ЗНО. Это сервисный запрос, обращение пользователя, в рамках которого мы лишь консультируем человека, а не правим код, то есть просто даем советы. Но если в рамках консультации возникает необходимость что-то доработать, то это выливается в создание новой фичи.

habr.com/ru/companies/mkb/arti

#инциденты #инцидентменеджмент #отказоустойчивые_системы #стабильность_системы

2025-03-04

BGP-anycast

Привет! Хочу поделиться реализованным кейсом на тему георезервирования между двумя инфраструктурными площадками. Эта информация может быть полезной для компаний или коллективов, которым нужно обеспечить доступность критически важных сервисов, даже если один из инфраструктурных сегментов (ЦОДов) выйдет из строя.

habr.com/ru/articles/887828/

#отказоустойчивость #отказоустойчивые_решения #отказоустойчивые_системы #сетевая_инфраструктура #сетевые_технологии #инфраструктура #балансировщик

2024-06-18

Как правильно входить в облака

В 2011 году я начал говорить о том, как правильно входить в облака. "Входить в облако надо с готовой стратегией выхода из него". До санкций было еще 11 лет и я говорил в основном о том, что у вас как пользователей может поменяться мнение о качестве услуг, об их стоимости. Было еще несколько лет до CloudMouse, и даже некоторые провайдеры из ранних еще не отжигали. Идет 2024 год. Slack добивает пользователей по признаку "получите, русские сволочи". В 2022 были убиты корпоративные аккаунты, причем некоторые серьезные компании пострадали (не будем их называть). Недостатки - логическое продолжение достоинств. Удобство облака и возможность моментально развернуть ресурсы = возможность моментально их удалить. Ваш обиженный инженер может это сделать в отместку за невыплаченную премию. Но так же это может сделать и сотрудник провайдера, например, демонстрируя свою личную политическую или иную позицию. Компания-провайдер может схлопнуться, а может просто взять и заблокировать вам аккаунт ( Amazon vs Parler ). Дальше делайте что хотите. Мы сейчас смеемся над дурачками, которые за полкопейки в 20 лет жгут релейные шкафы РЖД, а потом получают 20 лет тюремного срока. Так кто вам сказал, что очередной такой дурачок не окажется сотрудником облака с возможностью разворотить вам все? Повтори, а потом еще три раз повтори. Как правильно входить в облако.

habr.com/ru/articles/822643/

#облако #резервное_копирование #отказоустойчивость #отказоустойчивые_системы

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst