Как стать автором
Поиск
Написать публикацию
Обновить
49.76

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

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

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

Об анонимности в account-based блокчейнах

Время на прочтение7 мин
Количество просмотров2.3K
Мы уже давно интересуемся темой анонимности в криптовалютах и стараемся следить за развитием технологий в этой области. В своих статьях мы уже подробно разбирали принципы работы конфиденциальных транзакций в Monero, а также проводили сравнительный обзор технологий, существующих на этом поле. Однако же все анонимные криптовалюты на сегодняшний день построены на модели данных, предложенной Bitcoin — Unspent Transaction Output (далее UTXO). Для account-based блокчейнов как Ethereum существующие решения по реализации анонимности и конфиденциальности (например, Mobius или Aztec) пытались повторить модель UTXO в смарт-контрактах.

В феврале 2019 года группа исследователей из Стэнфордского университета и Visa Research
Читать дальше →

Corda — open source блокчейн для бизнеса

Время на прочтение4 мин
Количество просмотров12K
Corda — это распределенный Ledger для хранения, управления и синхронизации финансовых обязательств между различными финансовыми организациями.

Читать дальше →

Сложные системы. Выход на критический уровень

Время на прочтение18 мин
Количество просмотров9.4K
Если вы потратили какое-то время на размышления о сложных системах, то наверняка понимаете важность сетей. Сети правят нашим миром. От химических реакций внутри клетки, до сети взаимоотношений в экосистеме, торговых и политических сетей, которые формируют ход истории.

Или рассмотрим эту статью, которую вы читаете. Вероятно, вы нашли её в социальной сети, скачали из компьютерной сети и в настоящее время расшифровываете смысл с помощью своей нейронной сети.

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

Это наша тема на сегодня: как, насколько хаотично всё движется и распространяется. Некоторые примеры, чтобы подогреть аппетит:

  • Инфекционные заболевания, переходящие от носителя к носителю внутри популяции.
  • Мемы, распространяющиеся по графу фоловеров в социальных сетях.
  • Лесной пожар.
  • Идеи и практики, проникающие в культуру.
  • Каскад нейтронов в обогащённом уране.
Читать дальше →

Хранилище LINSTOR и его интеграция с OpenNebula

Время на прочтение7 мин
Количество просмотров16K


Не так давно ребята из LINBIT представили свое новое SDS-решение — Linstor. Это полностью свободное хранилище в основе которого используются проверенные технологии: DRBD, LVM, ZFS. Linstor сочетает в себе простоту и хорошо проработанную архитектуру, что позволяет добиться стабильности и достаточно внушительных результатов.


Сегодня я хотел бы рассказать про него чуть подробнее и показать насколько просто его можно интегрировать с OpenNebula используя linstor_un — новый драйвер, который я разработал специально для этой цели.


Linstor в сочетании с OpenNebula позволяет построить быстрое и надежное облако, которое можно без проблем развернуть на собственной инфраструктуре.

Читать дальше →

Сытые философы или конкурентное программирование на .NET

Время на прочтение14 мин
Количество просмотров15K


Давайте посмотрим как устроено конкурентное и параллельное программирование в .Net, на примере проблемы обедающих философов. План такой, от синхронизации потоков/процессов, до модели акторов (в следующих частях). Статья может быть полезна для первого знакомства или для того, чтобы освежить свои знания.


Зачем вообще уметь это? Транзисторы достигают своего минимального размера, закон Мура упирается в ограничение скорости света и поэтому рост наблюдается в количестве, транзисторов можно делать больше. При этом количество данных растет, а пользователи ожидают немедленной реакции систем. В такой ситуации "обычное" программирование, когда у нас один выполняющий поток, уже не эффективно. Нужно как-то решать проблему одновременного или конкурентного выполнения. Причем, проблема эта существует на разных уровнях: на уровне потоков, на уровне процессов, на уровне машин в сети (распределенные системы). В .NET есть качественные, проверенные временем, технологии для быстрого и эффективного решения таких задач.

Пообедаем...

Не только обработка: Как мы сделали из Kafka Streams распределенную базу данных, и что из этого вышло

Время на прочтение6 мин
Количество просмотров7.9K
Привет, Хабр!

Напоминаем, что вслед за книгой о Kafka мы выпустили не менее интересный труд о библиотеке Kafka Streams API.



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

Secure Scuttlebutt — p2p социальная сеть, работающая и в оффлайне

Время на прочтение4 мин
Количество просмотров14K
Scuttlebutt — сленговое слово, распространённое среди американских моряков, обозначающее слухи и сплетни. Node.js разработчик Доминик Тарр, живущий на паруснике у берегов Новой Зеландии, использовал это слово в названии p2p сети, предназначенной для обмена новостями и личными сообщениями. Secure Scuttlebutt (SSB) позволяет делиться информацией, используя лишь эпизодический доступ к сети Интернет или даже при полном его отсутствии.

SSB работает уже несколько лет. Функции социальной сети можно протестировать при помощи двух настольных приложений (Patchwork и Patchfoo) и приложения для Android (Manyverse). Для гиков есть ssb-git. Вам интересно как работает offline-first p2p сеть без рекламы и без регистрации? Прошу под кат.


Читать дальше →

ok.tech: Cassandra meetup

Время на прочтение2 мин
Количество просмотров2.3K


Работаете с NoSQL-хранилищем Apache Cassandra?


23 мая Одноклассники приглашают опытных разработчиков в свой офис в Петербурге на митап, посвященный работе с Apache Cassandra. Важен лишь ваш опыт работы с Cassandra и желание им поделиться.
Зарегистрироваться на мероприятие
Читать дальше →

Безграничные технологии XR в эпоху распределённых вычислений

Время на прочтение4 мин
Количество просмотров2.5K


Как трансформация Wireless Edge поможет в разработке фотореалистичных мобильных систем расширенной реальности.
Читать дальше →

Строительные блоки распределенных приложений. Второе приближение

Время на прочтение8 мин
Количество просмотров2.8K

Анонс


Коллеги, в середине лета я планирую выпустить еще один цикл статей по проектированию систем массового обслуживания: “Эксперимент VTrade” — попытка написать фреймворк для торговых систем. В цикле будет разобрана теория и практика построения биржи, аукциона и магазина. В конце статьи предлагаю проголосовать за наиболее интересные вам темы.



Это завершающая статья цикла по распределенным реактивным приложениям на Erlang/Elixir. В первой статье можно найти теоретические основы реактивной архитектуры. Вторая статья иллюстрирует основные шаблоны и механизмы построения подобных систем.


Сегодня мы поднимем вопросы развития кодовой базы и проектов в целом.

Читать дальше →

Строительные блоки распределенных приложений. Первое приближение

Время на прочтение8 мин
Количество просмотров4.5K


В прошлой статье мы разобрали теоретические основы реактивной архитектуры. Пришло время поговорить о потоках данных, путях реализации реактивных Erlang/Elixir систем и шаблонах обмена сообщениями в них:


  • Request-response
  • Request-Chunked Response
  • Response with Request
  • Publish-subscribe
  • Inverted Publish-subscribe
  • Task distribution
Читать дальше →

Строительные блоки распределенных приложений. Нулевое приближение

Время на прочтение5 мин
Количество просмотров3.7K


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

Читать дальше →

Основоположники теории распределенных систем в объятьях гидры

Время на прочтение6 мин
Количество просмотров11K

Это Лесли Лэмпорт — автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Это он впервые, ещё в 1979 году, ввёл понятие последовательной согласованности, а его статья «How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs» получила премию Дейкстры (точней, в 2000 году премия называлась по-старому: «PODC Influential Paper Award»). Про него есть статья в Википедии, где можно добыть ещё несколько интересных ссылок. Если вы в восторге от решения задач на happens-before или проблемы византийских генералов (BFT), то должны понимать, что за всем этим стоит Лэмпорт.


А ещё он скоро приедет на нашу новую конференцию о распределённых вычислениях — Hydra, которая состоится 11-12 июля в Санкт-Петербурге. Давайте посмотрим, что это за зверь такой.

Читать дальше →

Ближайшие события

Uptime day: 12 апреля, полёт нормальный

Время на прочтение3 мин
Количество просмотров2.1K


«Да чего же ждать от конференций? Сплошь танцовщицы, вино, гулянки» — шутил герой фильма «Послезавтра».

Наверное, на каких-то конференциях и не такое бывает (делитесь историями в комментах), но на it-сборищах обычно вместо вина пиво (по завершении), а вместо танцовщиц — «танцы» с кодами и информационными системами. 2 года назад мы тоже вписались в эту хореографию, организовав конференцию Uptime day. В этом апреле, на День космонавтики, мы проводим её уже в четвёртый раз — традиционно бесплатно и традиционно под аккомпанемент вопросов «зачем вам это надо?»
На весеннем Uptime day будем говорить об организации резервирования веб-проектов со сложной распределённой архитектурой — способам переключения с боевого окружения на резервное, а также разбору различных сценариев отката и переключения на резервную площадку в случае неудачного деплоя.

А зачем нам это надо?.. Об этом под катом. И о том, чем вам будет полезна конференция Uptime day.
Читать дальше →

Flightradar24 — как это работает? Часть 2, ADS-B протокол

Время на прочтение9 мин
Количество просмотров34K
Привет Хабр. Наверное каждый, кто хоть раз встречал или провожал родственников или друзей на самолет, пользовался бесплатным сервисом Flightradar24. Это весьма удобный способ отслеживания положения самолета в реальном времени.

image

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

Где весной поговорить про Apache Ignite, распределенные базы данных и распределенное машинное обучение

Время на прочтение2 мин
Количество просмотров1.2K
Начинается первая волна конференций, да и дружественные митапы активизировались. Присоединяйтесь.

15 марта, Санкт-Петербург — ODS SPB Meetup #5


Распределенный TensorFlow с Apache Ignite
На митапе, приуроченному ко дню рождения Open Data Science, Юрий Бабак, Руководитель группы разработки в GridGain, расскажет про распределенный TensorFlow с Apache Ignite:

— Apache Ignite как распределенный источник данных для TensorFlow;
— Hаспределенная тренировка модели на кластере TensorFlow поверх Apache Ignite;
— Инференс TensorFlow модели на кластере Apache Ignite

Программа и регистрация

28 марта, Москва — Scalability Meetup #7


Репликация распределенных баз данных
Репликация кластеров позволяет не беспокоиться за работоспособность распределенных систем. Но что делать, если в дата-центре отключат свет, все кластеры сразу начнут сбоить (и каждый по-своему), а потом кто-то очень серьезно ошибется?

Иван Раков, Senior Software Engineer в GridGain, расскажет про то, какие варианты репликации возможны, как реализована транзакционная целостность в GridGain, и как это защищает кластер от катастроф.

Программа и регистрация

А также на JPoint и Saint Highload
Читать дальше →

Прошло 10 лет, а никто не придумал, как использовать блокчейн. И вот опять?

Время на прочтение4 мин
Количество просмотров8.5K

Действительно ли это так? Это соответствует действительности почти на 100 процентов. Но есть пара нюансов. Первое, это всем известная криптовалюта. Ее свойства все таки имеют некоторую привлекательность на фоне фиата. Тема это острая, прямо скажем, политически очень "заряженная", потому объективности в ней ждать не приходится.

Читать дальше →

Распределенные системы. Паттерны проектирования. Обзор книги

Время на прочтение7 мин
Количество просмотров28K
Здравствуйте, коллеги. Сегодня мы публикуем перевод очередного обзора с сайта Бена Нейдела — этот сайт наверняка заинтересует вас и в оригинале. На сей раз мы поговорим о книге "Распределенные системы. Паттерны проектирования", которая дополняет вышедшую у нас в начале этого года книгу "Осваиваем Kubernetes" и, в сущности, является аналогом GoF для проектирования распределенных систем.



Приятного чтения.
Читать дальше →

Кластерное хранилище Pacemaker + DRBD (Dual primary) + samba

Время на прочтение5 мин
Количество просмотров12K
В продолжение статьи «Кластерное хранилище Pacemaker + DRBD (Dual primary) + ctdb» представляю полностью готовый и рабочий вариант HA кластера файловой шары на 2-4 ноды для centos 6 и centos 7. Если вы хотите реализовать такое, вы либо извращенец, либо вам не дали никакого выбора, и реализовать надо хоть как-то.

Я просто опишу слоёный пирог, который мы будем собирать:

На блочном устройстве создаём таблицу gpt => один раздел на всё пространство под лвм => группу томов лвм на всё доступное пространство => лвм том на всё доступное пространство => drbd устройство => dlm => размечаем как физический том лвм на всё доступное пространство => на него кластерную группу томов лвм => лвм том на всё доступное пространство => размечаем фс gfs2 => подключаем в точку монтирования.
И рулить всем этим будет pacemaker c virtual ip адресом.


Если вы ещё хотите продолжать, читайте дальше под катом.
Читать дальше →

WG Contract API: zoo of services

Время на прочтение11 мин
Количество просмотров5.5K


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

Если хотите познакомиться поближе с тем как команда Wargaming Platform справляется со сложностью системы из более чем сотни взаимодействующих друг с другом web-сервисов, то добро пожаловать под кат.
Читать дальше →