По долгу работы мне приходится сталкиваться с проектированием и разработкой распределенных приложений. Такие приложения часто используют различные средства межпроцессного взаимодействия для организации взаимодействия компонентов. Особые сложности возникают в процессе реализации алгоритмов, обрабатывающих связанные данные распределенно. Для поддержки таких задач используются специализированные системы распределенной координации. Самым популярным и широко используемым продуктом является Apache Zookeeper.Читать полностью »
Рубрика «распределенные системы» - 18
Обзор возможностей библиотеки Apache Curator для Apache Zookeeper
2017-08-02 в 6:30, admin, рубрики: curator, distributed computing, distributed lock manager, IPC, java, open source, scala, zookeeper, высокая производительность, параллельное программирование, распределённые вычисления, распределенные системы5 ключевых преимуществ систем мониторинга, диспетчеризации и управления RedPine
2017-07-07 в 10:32, admin, рубрики: автоматизация, Блог компании RedPine, диспетчеризация, дистанционное управление, Железо, инженерные системы, интерфейсы, контроллер, контроль, мониторинг и диспетчеризация, передача данных, Программное обеспечение, Производство и разработка электроники, производство электроники, распределенные системы, российское производство, Сетевое оборудование, система учета, Софт, уведомления, удаленный контроль, учет электроэнергии, энегоэффективность, энергетика, энергоресурсы, энергоучетВ предыдущей публикации мы рассказали про историю создания RedPine, попытавшись в укрупненном масштабе показать, зачем мы когда-то избрали путь разработки собственной системы мониторинга, диспетчеризации и управления и какие возможности нам стали доступны благодаря этому.
Мы выделили 5 ключевых преимуществ, которые позволяют реализовать все те возможности, которыми должна обладать современная система мониторинга, диспетчеризации и управления.
- Широкий функционал и гибкость
- Простота установки
- Гибкое ПО для обеспечения функционала
- В зоне доступа – невысокие требования к уровню сигнала
- Универсальность — возможность использовать на различном оборудовании
В новой статье мы подробнее расскажем о каждом из этих 5 ключевых моментов и объясним, почему они являются действительно ключевыми, и почему мы называем их преимуществами.
Распределенные структуры данных (часть 2, как это сделано)
2017-06-08 в 10:58, admin, рубрики: Apache Ignite, big data, java, Блог компании GridGain, Программирование, распределённые вычисления, распределенные системыВ предыдущей статье — часть 1, обзорная — я рассказал о том, зачем нужны распределенные структуры данных (далее — РСД) и разобрал несколько вариантов, предлагаемых распределенным кешем Apache Ignite.
Сегодня же я хочу рассказать о подробностях реализации конкретных РСД, а также провести небольшой ликбез по распределенным кешам.
Итак:
Как принять закон или обработка данных в распределённых системах понятным языком
2017-06-08 в 7:08, admin, рубрики: paxos, Блог компании Cloud4Y, консенсус, облако, Облачные вычисления, распределенные системы, Сетевые технологии, системное администрирование, согласованность, хранение данныхЕсли ваша работа не связана с компьютерными технологиями, вы, вероятно, не думали долго о том, как хранятся данные на компьютерах или в облаке. Я говорю не о физических механизмах работы жёстких дисков или чипов памяти, а о чём-то одновременно более сложном и более понятном, чем вы думаете.
Если у вас есть часть данных, которую многие люди хотят прочесть и сразу отредактировать, например, общий текстовый файл, банковский счёт или мир в многопользовательской игре, как достичь общего согласия с тем, что находится в документе, и убедиться, что никто не перезаписывает чужую работу? Это проблема консенсуса в распределённых системах, и для того, чтобы разобраться с этим, мне придётся рассказать об овцах, диктаторах и вымышленных островах древней Греции.
«Каких ещё островах?», — спросите вы?Читать полностью »
Распределенные структуры данных [часть 1, обзорная]
2017-05-24 в 11:21, admin, рубрики: Apache Ignite, java, распределённые вычисления, распределенные системыДавным давно, когда деревья компьютеры были большими, а процессоры одноядерными, все приложения запускались в один поток и не испытывали сложностей синхронизации.
Современные же приложения стремятся использовать все имеющиеся ресурсы, в частности, все доступные CPU.
К сожалению, использовать стандартные структуры данных при многопоточной обработке не представляется возможным, поэтому в Java 5 появились потокобезопасные структуры данных,
т.е. функционирующие исправно, при использовании из нескольких потоков одновременно, и расположились они в пакете java.util.concurrent.
На самом деле, потокобезопасные, но неэффективные, структуры данных, как, например, Vector и Hashtable, появились еще в Java 1.0.
В настоящий момент, они не рекомендуются к использованию.
Однако, не взирая на всю технологическую мощь, заложенную в пакет java.util.concurrent, обработка информации потокобезопасными коллекциями возможна лишь в рамках одного компьютера, а это порождает проблему масштабируемости.
zetcd от CoreOS: Заменяя ZooKeeper на… хранилище etcd
2017-05-24 в 9:56, admin, рубрики: coreos, etcd, Go, nosql, open source, zookeeper, Анализ и проектирование систем, Блог компании Флант, кластеры, микросервисы, распределенные системы, хранение данных, метки: etcdНа прошлой неделе компания CoreOS порадовала очередным Open Source-проектом — zetcd. На самом деле о нём было известно ещё с прошлого года, но теперь состоялся первый релиз, который перевёл продукт в статус бета-тестирования — заявил о готовности продукта к серьёзным испытаниям перед выпуском в мир production. Авторы позиционируют zetcd как готовую замену для ZooKeeper внутри таких распределённых/кластерных решений, как Mesos, Apache Kafka и Apache Drill. Их настрою не препятствует даже тот факт, что etcd предлагает «плоское» хранение ключей-значений против иерархического подхода своего конкурента. Как они к этому пришли?
Читать полностью »
[Санкт-Петербург] Андрей Ершов — CRDT. Бесконфликтная синхронизация данных
2017-05-22 в 6:32, admin, рубрики: crdt, Анализ и проектирование систем, Блог компании JUG.ru Group, Программирование, распределенные системы, синхронизация, Системы обмена сообщениями
Уже в этот вторник, 23 мая, после долгого перерыва, в офисе DINO Systems состоится встреча CodeFreeze с Андреем Ершовым, специалистом по распределенным системам. Тема встречи — CRDT. Бесконфликтная синхронизация данных.
Читать полностью »
Всё, что вы не знали о CAP теореме
2017-05-16 в 11:28, admin, рубрики: acid, base, cap, cassandra, mongodb, nosql, pacelc, postgresql, Анализ и проектирование систем, архитектура, базы данных, проектирование, проектирование баз данных, распределенные системыВо время моего первого опыта работы с распределенными системами я постоянно сталкивался с некой CAP-теоремой, пришлось изрядно покопать, чтобы изучить и осознать её со всех сторон. Я не являюсь мастером баз данных, но надеюсь, что мое маленькое исследование мира распределённых систем будет полезно для обычных разработчиков. В статье я расскажу о том, что такое CAP, его проблемы и альтернативы, а также рассмотрим некоторые популярные системы баз данных через CAP призму.
Читать полностью »
Российская система мониторинга RedPine — от проблемы к рождению нового продукта
2017-05-04 в 9:38, admin, рубрики: Блог компании RedPine, диспетчеризация, дистанционное управление, контроль, Производство и разработка электроники, распределенные системы, российское оборудование, Сетевое оборудование, система учета, Софт, удаленный контроль, электроснабжение, энергетика, Энергия и элементы питания, энергоресурсы, энергоснабжение, энергоучет, энергоэффективность, метки: диспетчеризация10 лет назад, компания Хайтед, которая, в числе прочего, предлагает в аренду дизельные генераторы, вплотную занялась эффективностью своего арендного парка, а это более 250 ДГУ, работающих в разных уголках страны. Для эффективной работы такого парка нужна система мониторинга, учета и диспетчеризации, иначе все может выйти из-под контроля. Мы должны видеть местоположение, статистику и режим работы оборудования, удаленно включать и выключать его. И поначалу казалось, что это не очень сложно.
Но на практике оказалось, что имеющиеся на рынке решения не могут предоставить все нужные функции в реальных условиях. Поэтому было решено создать свою собственную систему мониторинга, отвечающую всем нашим требованиям, а в итоге получился продукт, который можно дорабатывать и предлагать другим компаниям для решения различных задач.
Мы назвали его RedPine, и сейчас это уже семейство продуктов, охватывающих не только электроснабжение, но и другие инженерные системы.
Кинетика больших кластеров
2017-04-06 в 9:40, admin, рубрики: big data, Алгоритмы, Анализ и проектирование систем, высокая производительность, кинетика, Промышленное программирование, распределенные системы, репликация, метки: кинетикаКраткое содержание
- Фатальная ошибка Мартина Клеппмана.
- Физико-химическая кинетика уделывает математику.
- Период полураспада кластера.
- Решаем нелинейные дифференциальные уравнения, не решая их.
- Ноды как катализатор.
- Предсказательная сила графиков.
- 100 миллионов лет.
- Синергия.
В предыдущей заметке мы подробно разбирали статью Брюера и его одноименную теорему. На этот раз займемся препарированием поста Мартина Клеппмана «The probability of data loss in large clusters».
В данном посте автор пытается промоделировать следующую задачу. Для обеспечения сохранности данных обычно используется метод репликации данных. При этом, на самом деле, не важно, используется ли erasure кодирование или нет. В оригинальном посте автор задает вероятность выпадения одной ноды, а затем ставит вопрос: а какова вероятность выпадения данных при увеличении числа нод?
Ответ приведен на этой картинке:
Читать полностью »