Как стать автором
Обновить
22.32
Рейтинг

Распределённые системы *

Нюансы проектирования распределенных систем

Сначала показывать
Порог рейтинга

Децентрализованная социальная сеть для себя и друзей. На своём хостинге — без интернета

Блог компании FirstVDS Хостинг Децентрализованные сети Распределённые системы *Социальные сети и сообщества


Большинство социальных сетей ориентированы на интернет. Если нет онлайна, то нет и доступа к социальной сети, и даже собственные сообщения недоступны.

Однако в современных условиях доступ в интернет может быть утерян. Поэтому нужен запасной вариант.

Совершенно противоположный подход — собственный офлайновый хостинг для децентрализованного приложения. В таком варианте узел живёт на вашем телефоне — и синхронизируется с другими по мере необходимости, в том числе по Bluetooth и Wi-Fi Direct. Никаких лишних людей, полная безопасность и отличная страховка на случай полного шатдауна.
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 4.6K
Комментарии 5

Новости

Проходим L6 интервью на System Design в FAANG

Карьера в IT-индустрии Распределённые системы *Интервью
Из песочницы

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

Читать далее
Всего голосов 16: ↑12 и ↓4 +8
Просмотры 3.4K
Комментарии 3

Социальная сеть без интернета

Децентрализованные сети Распределённые системы *Социальные сети и сообщества
Из песочницы

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

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

Как попасть в SSB?
Всего голосов 29: ↑29 и ↓0 +29
Просмотры 17K
Комментарии 24

Цифровой вытрезвитель

Анализ и проектирование систем *Машинное обучение *Распределённые системы *Искусственный интеллект Криптовалюты

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

Я верю в "частичные идеи". Бывает, человек крутит в голове половину чего-то важного. А у кого-то есть вторая половина. Чтобы мысли встретились и "клацнули", кто-то должен свою половину опубликовать. Сегодня это делаю я. Считайте это скорее приглашением к обсуждению, нежели готовым рецептом.

Читать далее
Всего голосов 45: ↑41 и ↓4 +37
Просмотры 16K
Комментарии 43

RabbitMQ Streams для сбора и обработки телеметрии умного дома

Блог компании OTUS Go *Разработка для интернета вещей *DevOps *Распределённые системы *

Традиционно для сценариев поточной обработки с использованием Map-Reduce рассматриваются такие решения как Hadoop/Spark, либо используются конвейерные системы (например Kafka), для которых есть возможность реализовать концепцию потоков (streams) с помощью дополнительных инструментов (в случае с Kafka это Kafka Connect (для подключения к источникам и получателям потока) и Kafka Streams для реализации Map-Reduce на потоке сообщений.

Начиная с версии 3.9 RabbitMQ анонсировал поддержку нового типа очереди, оптимизированного для поточной обработки. В этой статье мы посмотрим на основные отличия очередей RabbitMQ от классического режима очереди сообщений, а также возможные сценарии использования (с примерами кода на Go).

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 3.2K
Комментарии 1

Как справиться с более 50 репозиториев на GitHub?

Git *GitHub Распределённые системы *

Допустим есть ситуация, когда у тебя много проектов на github и ты хочешь хранить локальную копию всех проектов на разных устройствах и носителях. У тебя есть простой вариант - указать список репозиториев, написать bash скрипт, который бы клонировал все репозитории, и еще один bash скрипт, который бы их всех обновлял. Но bash скрипты не очень приятная вещь, когда ты знаешь python. С python будет по легче, но не забудь тебе придётся писать асинхронные REST API запросы к серверу GitHub для получения списка репозиториев, потому что писать вручную список репозиториев долго, потом тебе придётся разобраться как обновлять и копировать репозитории в многопоточном режиме, потому что синхронное обновление даже 40 репозиториев это 2 минуты ожидания. В общем работенка на два вечера + документация проекта + тестирование, в итоге 3 дня разработки для достижения поставленной цели. Но зачем тебе это делать когда это уже сделали ?

Проект git_clones

Документация git_clones

Получаем список всех репозиториев у указанного пользователя. В итоге вы получите файл ./look.json в котором будет храниться информация о пользователи, и список репозиториев. Обратите внимание, что приватные репозитории не будут получены, их нужно указывать вручную в этом же файле look.json.

Читать далее
Всего голосов 22: ↑6 и ↓16 -10
Просмотры 2.7K
Комментарии 24

Что такое Гибридные Смарт-контракты?

Криптография *Анализ и проектирование систем *IT-стандарты *Распределённые системы *
Recovery mode
Перевод

Гибридные смарт-контракты объединяют код, запущенный на блокчейн (on-chain), с данными и вычислениями за пределами блокчейн (off-chain), предоставляемыми децентрализованными сетями оракулов. Гибридные смарт-контракты позволяют использовать передовые формы экономической и социальной кооперации, которые обладают свойствами блокчейн, обеспечивающими защиту от взлома и неизменяемость, но при этом используют безопасные off-chain сервисы оракулов для достижения новых возможностей, таких как масштабируемость, конфиденциальность, справедливость порядка транзакций и связь с любым реальным источником внешних данных или внешней системой.

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

Читать далее
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 2.5K
Комментарии 1

Как работают криптовалюты. С картинками

Open source *Программирование *Хранение данных *Распределённые системы *Криптовалюты
Перевод

Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в 🇩🇪 Германии. А еще я автор телеграм канала Хороший разработчик знает, где рассказываю обо всем, что обычно знает хороший разработчик.

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

Читать далее
Всего голосов 28: ↑11 и ↓17 -6
Просмотры 22K
Комментарии 19

Введение в distributed tracing

Блог компании Конференции Олега Бунина (Онтико) DevOps *Распределённые системы *Инженерные системы Микросервисы *

В один прекрасный момент вы можете переезжать из одного ДЦ в другой и понять, что не знаете свои системы: их поведение может стать неожиданным. В одной системе вы должны были работать гораздо быстрее, но теперь работаете медленно. В другой — не понимаете, куда приходит запрос, а в третьей столкнетесь с проблемами.

Чтобы проще и быстрее понимать взаимосвязи между системами, и легко оптимизировать то, что уже было, вам прекрасно подойдет distributed tracing. Но как его выбрать, внедрить и не собрать все грабли?

Безкоровайный Денис, директор подразделения DevOps/DevSecOps в Proto Group и Панычев Дмитрий, руководитель разработки ряда достаточно запутанных проектов в Vprok.ru Перекресток, на конференции DevOps 2021 на примерах показали, как distributed tracing помог им решить бизнес-задачи. Читайте под катом, как они выбирали решение для distributed tracing и обходили грабли.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 2.4K
Комментарии 3

Как получил оффер от Microsoft

.NET *Алгоритмы *ООП *Распределённые системы *IT-компании

О чем эта статья

Это продолжение моих похождений по ФААНГ. Предыдущая статья была о моем опыте собеседования в Амазоне.

Здесь я тоже поделюсь всем процессом: как я попал на собеседование, все этапы, вопросы на интервью, как я готовился, некоторые детали офера, и общее впечатление от интервью. Так же будут всякие сравнения опыта собеседования в Майкрософте и в Амазоне.

К слову, все собеседования тоже сейчас проходят онлайн, и никаких онсайт интервью нет.

Читать далее
Всего голосов 88: ↑80 и ↓8 +72
Просмотры 44K
Комментарии 136

Как быстро писать в Apache Ignite

Блог компании MOEX Apache *Распределённые системы *


Что такое квадриллион? Это единица с 15-ю нулями, численность популяции муравьев на планете или 100 световых лет в километрах. А еще это объем торгов в рублях на Московской бирже за 2021 год.

Чтобы достичь такого результата, компания должна быть очень технологичной, очень надежной и очень быстрой. Поэтому более 50% штата Биржи – айтишники, работающие с передовым набором технологий, уровень надежности наших ИТ-систем стабильно составляет 99,99%, а еще мы постоянно разгоняем наши системы и процессы. Об одном из примеров такого ускорения рассказывает Григорий Доможиров, разработчик сервиса Data Grid.

– В компании есть куча систем-источников данных с одной стороны и систем-потребителей этих данных с другой. Я разрабатываю сервис, в котором эти данные сохраняются, предоставляя потребителям универсальный интерфейс доступа. Входящих данных генерируется много и происходит это быстро, а мы сохраняем их на скорости свыше 500 тысяч записей в секунду на пике.

Каким должно быть хранилище, чтобы выдерживать такие скорости? Во-первых In-memory, чтобы не тормозить о диск, во-вторых, – распределённым, чтобы распараллеливать запись. Такой класс решений называется In-Memory Data Grid, и яркий его представитель — Apache Ignite. Но просто установить его мало – чтобы добиться от него максимальной производительности, нужно правильно его «приготовить». И сейчас я расскажу, как.

Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 1.9K
Комментарии 2

HazelCast и синхронизация метода между несколькими нодами

Блог компании Reksoft Java *Распределённые системы *
Tutorial

В процессе синхронизации метода между несколькими нодами я решил поработать с библиотекой HazelCast IMDG. К моему удивлению, у данного проекта очень мало технической документации, особенно по сравнению с Redis. На официальном портале присутствует минимальное описание возможностей библиотеки вместе со списком конфигураций, где местами и вовсе нет комментариев к добавленным строкам кода.

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

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 2.3K
Комментарии 10

Мой опыт собеседования в Amazon

Алгоритмы *Amazon Web Services *C# *Распределённые системы *IT-компании

О чём эта статья

Это не история успеха, потому что в Амазон меня не взяли, но и не история полного лузера, который бомбит из-за своей тупости, ибо позже я прошел в Майкрософт, о чем будет отдельный пост. 

Это история о моем опыте собеседования в Амазоне, почему мне в целом не понравилось по сравнению с другими FAANG. Так же тут будут ответы на “а что конкретно спрашивали на интервью, какие были задачки, что на систем дизайне было”, потому что мне не дали подписать NDA, все с пруфами, скринами и прочее.

В общем и целом, статья будет о моем опыте, какие были интервью, что было сложного, что не очень, как я готовился, и какая доля везения в этом всем.

Начало, предложение от Amazon

В один прекрасный день 6 сентября, мне пришел такой сообщение в Линкедин.

Читать далее
Всего голосов 93: ↑90 и ↓3 +87
Просмотры 51K
Комментарии 176

Это уже не «ранние дни»

Децентрализованные сети Распределённые системы *Криптовалюты Будущее здесь
Перевод

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

Читать далее
Всего голосов 66: ↑58 и ↓8 +50
Просмотры 17K
Комментарии 73

Блокчейн для бизнеса: как он устроен и почему именно так

Децентрализованные сети Анализ и проектирование систем *IT-инфраструктура *Распределённые системы *
Из песочницы

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

Читать далее
Всего голосов 14: ↑10 и ↓4 +6
Просмотры 4.4K
Комментарии 24

Web3 и NFT: хайп обоснован или нет? Ещё неясно

Информационная безопасность *Криптография *Венчурные инвестиции Распределённые системы *Криптовалюты

Основатель Signal написал на прошлой неделе сильный текст о проблемах web3 и, в частности, NFT.

Привожу краткое саммари статьи + дискуссии о перспективах самой модной (по ожиданиям венчурных капиталистов) темы 2022 года. Высказались в том числе фаундер Metamask и создатель Ethereum.

И зову вместе разбираться, обоснован ли хайп.

Саммари нашумевшей статьи
Всего голосов 17: ↑11 и ↓6 +5
Просмотры 9.2K
Комментарии 97

PROOF OF STAKE – это скам

Криптография *Алгоритмы *Распределённые системы *
Recovery mode
Перевод

Proof of Stake (PoS) – это мошенничество. Когда я говорю это, я имею в виду, что PoS 1) заявлен как система консенсуса, и 2) фактически неспособен на самом деле обеспечить консенсус.

Читать далее
Всего голосов 118: ↑99 и ↓19 +80
Просмотры 84K
Комментарии 470

Основатель Signal: «Первые впечатления от web3»

Информационная безопасность *Хранение данных *Облачные сервисы Распределённые системы *Криптовалюты
Перевод

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

Но учитывая всё то внимание, которое в последнее время уделяется тому, что сейчас называют web3, я решил более тщательно изучить всё происходящее в этой сфере, чтобы точно ничего не упустить...

Читать далее
Всего голосов 123: ↑121 и ↓2 +119
Просмотры 69K
Комментарии 150

Amazon S3 — детективное расследование внутренней архитектуры

Анализ и проектирование систем *Amazon Web Services *Облачные сервисы Распределённые системы *

Мне понравился опыт прошлого расследования по фейсбуку, и я решил организовать очередную серию, теперь про Amazon. Для нетерпеливых — в самом конце статьи описан итоговый вариант архитектуры Amazon S3 и проанализированы его свойства.



Не так давно Амазон объявил о переходе S3 с модели eventual consistency на strong consistency, то есть, предоставления гарантии read-after-write, чтения того, что было только что записано. Сообщество отреагировало, но как-то очень вяло: Amazon S3 Now Delivers Strong Read-After-Write Consistency


Первое, что лично мне подумалось в ответ на эти новости: а как же теорема CAP?

Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Просмотры 13K
Комментарии 16

Пишем за выходные блокчейн-игру на смарт-контрактах Rust

Децентрализованные сети Rust *Распределённые системы *Криптовалюты Логические игры

Сейчас регулярно выходят анонсы про NFT-metaverse-блокчейн-игры, которые привлекали инвестиции в миллионы долларов по оценке в миллиарды, но при изучении проектов там оказываются либо плашки Coming Soon, либо продажа JPG-картинок на аукционах NFT-токенов, либо централизованные проекты с гомеопатическими дозами блокчейна. Перед тем, как окрестить это всё пузырем хайпа, но я решил разобраться в технологическом стеке самостоятельно и сделать свою блокчейн-игру с NFT, потратив минимум ресурсов. Читайте под катом как у меня это получилось всего за 2 дня, а также покупайте мои NFT (нет).

Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 12K
Комментарии 27

Вклад авторов

Работа