Рубрика «распределенные системы» - 2

Объектные хранилища сейчас повсюду. До прихода в Selectel я лишь знал, что они живут в облаках, сложно тарифицируются, а Amazon снова впереди планеты всей… Но, если подумать, так можно сказать почти про любую облачную услугу, и это не расскажет нам о ее реальных особенностях.

Быть может, специфика такого хранилища прячется в задачах, которые оно решает? Сложно сказать наверняка, ведь сегодня объектные хранилища занимаются массой вещей: от раздачи статического контента до хранения бэкапов и бэкенда аналитических баз данных.

Попытки понять природу непривычных ограничений порождают лишь новые вопросы: почему можно удалять только пустой контейнер? Почему нельзя быстро перенести большой объем данных из одного контейнера в другой? Да и вообще, что это за название такое — объектные — и какая магия творится под капотом?

На связи Рома из команды объектного хранилища Selectel, и я изучил наш опыт разработки и поддержки такого продукта на протяжении 10 лет. Под катом находится первая часть истории, где я поделюсь своими открытиями о теоретической части вопроса.
Читать полностью »

Как НЕ надо строить надежные системы - 1

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

Как мы сжимаем данные в больших проектах - 1

Привет! Меня зовут Александр Кленов, и я работаю в Tarantool. В апреле вышел Tarantool 2.10 Enterprise Edition – обновленная версия платформы in-memory вычислений. В версии 2.10 появилось несколько новых функций, о которых уже немного рассказывали на Хабре

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

Yandex Planner. Как планировать вычислительные мощности - 1

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

Меня зовут Сергей Фомин, я разработчик Yandex Planner. Мой пост будет посвящён тому, как мы эффективно решаем задачу планирования вычислительных мощностей.

Сначала я расскажу, что такое Yandex Planner и почему мы решили писать своё решение. После этого мы поговорим про то, в чём заключается задача планирования, почему она не такая простая, как может показаться на первый взгляд. И в качестве одного из способов решения задачи мы рассмотрим дефрагментацию ресурсов. Поехали.
Читать полностью »

… простите, мигрировали куда? Туда!

CockroachDB — PostgreSQL-совместимая (по SQL-синтаксису DML) распределенная СУБД с открытым кодом (ну, почти). Ее название символизирует, что она, как таракан, выживает в любых экстремальных ситуациях. Лично мне крайне импонирует такая СУБД с привычным SQL-интерфейсом, настройка которой занимает 5 минут, которая хранит данные — как Kafka — на нескольких узлах в нескольких ЦОДах сразу, имеет настраиваемый replication factor на уровне конкретных таблиц, легко переживает потерю как одного узла, так и целого ЦОДа, использует для этого механизм распределенного консенсуса Raft и при этом еще и имеет строгую консистентность и уровень изоляции serializable. Разработчики CockroachDB — выходцы из компании Google, которые решили коммерциализировать архитектуру распределенной СУБД Spanner.

Как мы мигрировали критичную БД с Oracle в CockroachDB - 1

Недостатки тоже есть, не переживайте, но про них лучше в другой раз :)

Почему именно CockroachDB?

Среди распределенных SQL-СУБД есть альтернативы в виде Yugabyte и TiDB, и с прошлого месяца YDB. Вопрос «Почему?» связан в первую очередь с тем, зачем вообще нужна БД. Как мне кажется, БД нужна для того, чтобы надежно хранить данные и доставать их через стандартный язык SQL, а удобство ее использования — приятный, но вторичный фактор. Тут надо заметить, что я почти 9 лет проработал в техподдержке Oracle, и видел достаточно случаев порчи БД, как из-за дисковых сбоев и ошибок администраторов, так и из-за багов в приложении и даже в коде самой СУБД.

Ключевыми критериями выбора были:
Читать полностью »

Руководство по обеспечению высокой доступности в Kubernetes - 1


Перед вами полноценный гайд по запуску приложений с высокой доступностью (HA) в Kubernetes. В его основу лёг мой многолетний опыт работы с этой системой, приправленный лучшими практиками из официальной документации OpenShift и Kubernetes. Читать полностью »

Встречайте UUID нового поколения для ключей высоконагруженных систем - 1

31 марта 2022 года на сайте IETF был официально размещен текст рабочего документа (копия 1Читать полностью »

SSB - это децентрализованная offline-first социальная сеть. Децентрализованная - это значит, что в ней нет сервера, который можно заблокировать, или на котором админ может закрыть вам доступ. Offline-first означает, что всё происходит в первую очередь на вашем устройстве.

Интернет-шатдаун ломает SSB не так сильно, как, например, Facebook. Вы можете продолжать читать и писать без доступа в интернет. Для синхронизации достаточно нескольких минут.

Как попасть в SSB?

Для этого нужно скачать приложение:


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