Одноклассники – самый крупный пользователь Apache Cassandra в Рунете и один из крупнейших в мире. Мы начали использовать Cassandra в 2010 для хранения оценок фото, а сейчас под управлением Cassandra находятся петабайты данных на тысячах нод, более того, мы даже разработали свою собственную
12 сентября в своём петербургском офисе мы проведем
В преддверии митапа мы поговорили с Олегом про отказоустойчивость распределённых систем с Cassandra, поинтересовались о чем он будет рассказывать на митапе и почему стоит посетить это мероприятие.
Олег начал карьеру программиста в далеком 1995 году. Разрабатывал ПО в банковской сфере, телекоме, транспорте. Работает ведущим разработчиком в Одноклассниках с 2007 года в команде платформы. В его обязанности входит разработка архитектур и решений для высоконагруженных систем, больших хранилищ данных, решение проблем производительности и надежности портала. Также занимается обучением разработчиков внутри компании.
— Олег, привет! В мае состоялся
Пришли разработчики с разным бекграундом из различных компаний со своей болью, неожиданными решениями проблем и удивительными историями. Нам удалось провести большую часть митапа в формате дискуссии, но обсуждений было так много, что мы смогли затронуть лишь треть намеченных тем. Много внимание уделили тому, как и что мы мониторим на примере наших реальных production-сервисов.
Мне было интересно и очень понравилось.
— Судя по анонсу,
Cassandra это типичная нагруженная распределённая система с огромным количеством функциональности помимо непосредственного обслуживания пользовательских запросов: gossip, обнаружение сбоев, распространение изменений схемы, расширение/уменьшение кластера, anti-entropy, бекапы и восстановление и т.д. Как и в любой распределённой системе с ростом количества железа растёт вероятность сбоев, поэтому эксплуатация production кластеров Cassandra требует глубокого понимания её устройства для предсказания поведения в случае сбоев и действий оператора. В процессе многолетнего использования Cassandra мы
— Когда речь заходит о Cassandra, что ты понимаешь под отказоустойчивостью?
В первую очередь, конечно, способность системы переживать типичные сбои железа: потерю машин, дисков или сетевой связности с нодами/датацентрами. Но сама тема гораздо шире и в частности включает в себя восстановление после отказов, в том числе отказов, к которым люди редки бывают готовы, например, ошибок оператора.
— Можешь привести пример самого нагруженного и самого большого кластера данных?
Один из наших самых больших кластеров — это кластер подарочков: больше 200 нод и сотни ТБ данных. Но он не является самым нагруженным, поскольку прикрыт распределённым кешем. Наши самые нагруженные кластера держат десятки тыс. RPS на запись и тысячи RPS на чтение.
— Ого! Как часто что-нибудь ломается?
— Какие вы боретесь с подобными отказами?
С самого начала эксплуатации Cassandra и первых инцидентов мы проработали механизмы резервных копий и восстановления из них, построили процедуры deploy, которые учитывают состояние кластеров Cassandra и, например, не дают перезапускать узлы, если возможна потеря данных. Про всё это мы планируем поговорить на митапе.
— Как ты сказал, абсолютно надёжных систем не существует. К каким видам отказов вы готовитесь и способны пережить?
Если говорить о наших инсталляциях кластеров Cassandra, пользователи ничего не заметят, если мы потеряем несколько машин в одном ДЦ или целиком один ДЦ (такое случалось). С ростом количества ДЦ, думаем о том, чтобы начать обеспечивать работоспособность в случае сбоя двух ДЦ.
— Чего на твой взгляд не хватает Cassandra в плане отказоустойчивости?
Cassandra как и многие другие ранние NoSQL хранилища требует глубокого понимания её внутреннего устройства и происходящих динамических процессов. Я бы сказал, что ей не хватает простоты, предсказуемости и наблюдаемости. Но будет интересно услышать мнение других участников митапа!
Олег, большое спасибо что нашел время ответить на вопросы!
Мы ждем всех, кто хочет пообщаться с экспертами в области эксплуатации Apache Cassandra на митап 12 сентября в свой петербургский офис.
Приходите, будет интересно!
Источник: habr.com