SlideShare a Scribd company logo
1 of 12
1
Стэн Шнайдер, 2013
В чем разница между DDS и AMQP?
Интеллектуальные системы «машина-машина» сталкиваются с проблемами,
которые не решаются большинством корпоративных сетевых программ. Из
тысяч стандартов протокола обмена сообщениями два являются наиболее
важными на этом рынке: DDS, международный стандарт OMG и AMQP,
управляемый OASIS.
Интеллектуальные системы «машина-машина», такие как военно-морские боевые корабли или
500-турбинные ветряные электростанции, сталкиваются с проблемами, которыене решаются
большинством корпоративных сетевых программ. Из тысяч стандартов протокола обмена
сообщениями два становятся наиболееважными на этомрынке:Служба распространения
данных (DDS), международный стандарт группой управления объектами (OMG) и
расширенным протокол очереди сообщений (AMQP), управляемый Организацией по
совершенствованию стандартов структурированной информации (OASIS).
Содержание
 Введение
 Как работаетAMQP
 Как работаетDDS
 Управление состоянием
 Дата-центричностьили сообщение-центричность
 стандарты
 конфигурация
 КонтрольQoS
 Представление
 Посредничество и маршрутизация
 Что меняет смысл
 Подключение точекна C2
 Рекомендации
Введение
DDS - это дата-центричное middleware, ориентированный на данные, с корнями в
высокопроизводительные защитные,промышленные и встроенные приложения. Он может
2
эффективно доставлять миллионы сообщений в секунду многим одновременным приемникам.
Растущий список поставщиков предоставляет DDS тысячам требовательных приложений.
AMQP - это middleware, ориентированное на сообщения, которое возникло в банковской
отрасли. Он может обрабатывать тысячи надежных транзакций в очереди. Он также имеет
поддержку нескольких поставщиков и множество успешных приложений.
DDS и AMQP являютсястандартами обмена сообщениями. Обе возможности взаимодействия
используютсяв критически важных системах. Те, кто новичокв технологиях, могут найти
выбор (или комбинацию) запутанным. Однако на самом деле это совершенно разные, даже
дополнительные технологии. Их области применения перекрываются редко.
Правильный выбор может внести существенный вклад. DDS обеспечивает взаимодействиев
режиме реального времени, многие-ко-многим, управляемое соединение, требуемое
высокопроизводительными машинными приложениями. AMQP больше фокусируется на
предоставлении быстрых и надежных бизнес-транзакций. Выбор AMQP для варианта
использования большого разветвления ил и выборDDS для транзакционного использования
может привести к сложности, ужасающей производительности или даже сбою.
Таким образом, это важный выбор дизайна. Разработчики приложений должны понимать
различия между AMQP и DDS, которыевключают в себя управление состоянием,
ориентированность на сообщения по сравнению с центрами данных,стандартами,
конфигурацией, контролем качества обслуживания, производительностью, посредничеством и
маршрутизацией.
Как работает AMQP
AMQP структурирует связь в качестве публикации для обмена, маршрутизации между
обменами и очередями, а затем подписывается на очереди (рис.1) . Обменивает контроль, куда
идут сообщения. Например, они могут просто передавать сообщенияв одну очередь,
распределять сообщения изнескольких очередей, дублировать каждое сообщение в несколько
очередей или отправлять сообщенияна основе некоторого шаблона. Обменник(Exchanger) и
очереди живут в «брокере». Сила брокера - это гибкость в этих шаблонах доставки, называемая
«маршрутизация». Маршрутизация являетсяэндемичной дляброкеров AMQP. Уровень
3
косвенности дает модели максимальную гибкость. (Болееновая спецификация OASIS, AMQP
v1.0, не определяет поведение брокера,она описывает только протоколы базовых сообщений и
протоколов транзакций. Однако основные реализации используют эту архитектуру,
1. Издатель AMQP отправляют на обменник, который отправляет сообщения в очереди. Абоненты
потребляют из очередей.
Сообщения от издателей к обменнику и от очередей к подписчикам используют TCP, который
обеспечивает строго надежноедвухточечноесоединение. Кроме того,конечные точки должны
подтвердить принятие каждого сообщения. Стандарт также описывает необязательный режим
транзакции с формальной последовательностью многофазных фиксаций. Изначальное
происхождение в банковской отрасли, AMQP фокусируетсяна отслеживании всех сообщений и
обеспечении того,чтобы каждое сообщение было доставлено по назначению, независимо от
сбоев или перезагрузок.
Как работает DDS
DDS структурирует коммуникации как чтение и запись в виртуальное «глобальное
пространство данных». Чтобы использовать его, вы определяетемодель данных именованных
топиков с указанными типами данных. Затем инфраструктура контролирует изменение и
доступ к данным. Топик похож на таблицу базы данных и тип ее схемы. Любые полятипа могут
4
быть ключом. DDS позволяет изменять динамические модели данных, которыесочетают
преимущества структурированных данных с легкой эволюцией системы.
Хотя DDS моделирует всевзаимодействиякак чтение и запись в глобальное пространство
данных, данные поступают непосредственно от издателей (производителей) к подписчикам
(потребителям). Но здесь нет брокера. Вместо этого издатели и подписчики подключаются к
«шине данных». Очень обширный набор параметров качества обслуживания (QoS) точно
контролирует,как информация поступает от издателей и подписчиков черезшину. Middleware
сопоставляет издателей с подписчиками на основе их типов, т опиков и QoS. Результатом
является быстрая, прямая, управляемаясвязь (рис.2) .
2. DDS соединяет участников через управляемую QoS «шину данных». Присоединение к шине требует
четкой спецификации необходимых взаимодействий, например, скорости обновления, надежности и
фильтрации.
DDS работает по многимтранспортам,включая TCP, UDP (включая многоадресную рассылку),
общую память, свичующуюфабрику и многое другое. Это не зависит от базового транспорта
для надежности, а вместо этого реализует настраиваемый протокол надежности для каждого
потока.
Управление состоянием
AMQP возникла избанковской отрасли. Ключевой проблемой во многих финансовых
приложениях является поддержание точных историй транзакций, таких как то, что произошло
с платёжкой или сколько было внесено на счет. Вот почему AMQP подчеркивает важ ность того,
чтобы никогда не терять сообщения и знать, что с ними произошло. Эти проекты
предполагают,что приложения управляют состоянием в локальномхранилище. Брокеры
сохраняют и передают информацию между приложениями беззнания или контроля состояния.
5
Из-за своих корней в высокопроизводительных встроенных системах DDS подчеркивает
скорость и масштабирование, управление временем и гибкоеуправление доставкой. Вотличие
от AMQP, он стремитсяупроститьприложения, делегируябольшую часть управления
состоянием промежуточному программному обеспечению.
Дата-центричность или сообщение-центричность
Цели управления состоянием приводят к еще болееглубокой разнице. AMQP - это протокол,
ориентированный на сообщения. DDS ориентирован на данные. Хотя оба типа middleware
служат для подключения распределенных систем,подходы совершенно разные.
Когда вы используете ориентированный на сообщение дизайн, единица обмена информацией -
это само сообщение. Роль инфраструктуры заключается в обеспечении того,чтобы сообщения
доходили до предполагаемых получателей. Как файловая система, сообщение может включать
в себя что угодно в любом формате. Инфраструктура просто передает информацию.
Технологии, ориентированные на данные, вместо этого понимают сами данные и поэтому могут
управлять различными типами поведения состояния.Основная единица коммуникации - это
значение данных. Задача инфраструктуры - не просто доставлять сообщения, но и
гарантировать, что все узлы имеют синхронизированное и общеепонимание значения данных.
Подобно базе данных, middleware, ориентированноена данные, понимает форматы сообщений
и обеспечивает соблюдение правил доступа.
Это философскоеразличие имеет много последствий. Вдвух словах, ориентированноена
данные middleware предлагает лучшуюмасштабируемость «разветвления» и лучшее
управление состоянием, за счет перехода некоторой сложности в middleware. Системы,
ориентированные на данные, превосходят сложные проблемы интеграции, требующие четкой
архитектуры и управленияжизненным циклом. Здесь очень подходит аналогия с базой данных.
Cтандарты
Характерсоответствующих стандартов также совершенно другой. AMQP – специфицирует wire
протокол.Его основнаяцель - обеспечить возможность взаимодействия между различными
6
реализациями спецификации AMQP. Тогда разработчики системы могутинтегрировать
модули,созданные с использованием разных продуктов.
AMQP не рассматривает интерфейс прикладного программиста (API). Внекоторых реализациях
используется служба обмена сообщениями Java (JMS), но это относится только к Java и не
привязано непосредственно к функциямпротокола.
С другой стороны, DDS включает в себякак спецификации wire, таки API. Спецификация API
позволяет использовать многие языки. Ведущие поставщики поддерживают C, C ++, Java, C #,
Ada, Scala, Python и другие. Связь между языками,операционными системами и типами
процессоров прозрачна.
Использование стандартизованного APIподразумевает, что программное обеспечение легк о
переносится между реализациями поставщика. Следовательно, пользователи не блокируются
для поставщика, даже для одной подсистемы. Тем не менее сообщество разработчиков DDS
регулярно тестирует взаимодействие с проводниками с демонстрациями, включающими все
болеесложный контроль QoS. До сих пор участвовали девять вендоров.
Конфигурация
Крупная распределенная системаможет содержать тысячи приложений, запускаться на сотнях
компьютеров и передавать миллионы отдельных частей информации. Настройка такой
системы может быть проблемой. Каким-то образом каждое приложение должно найти нужную
ему информацию, подключить источники и приемники и обеспечить надлежащую связь.
Системы AMQP подходят к этой проблемечерезпосредников-брокеров. Конфигурация
проста. Приложения отправляют сообщения на обменник и подписываютсяна очереди,
используяизвестные имена и адреса брокера/сервера. Это просто, но требуетручного
обслуживания.Он такженегибкий во время выполнения.
Напротив, DDS использует автоматическую технологию «обнаружения».Участники просто
заявляют, какую информацию они знают и что им нужно по типу, т опику и QoS. Фоновый
протокол «мета трафика» автоматически подключает источники к приемникам. Конфигурация
7
состоит в том,чтобы просто информировать всех игроков о своих потенциальных узлах-пирах.
Изменения времени выполненияявляютсяестественными и ожидаемыми.
Например, система AMQP может публиковать «температуру» для обмена «среда». Он должен
знать, черезконфигурацию, где находитсяобменник. Издатель DDS только объявляет, что он
публикует «температуру». Затем middlewareнайдет всех подписчиков на «температуру» и
составит соответствующие соединения с шинами данных.
Контроль QoS
Пожалуй,самой отличительной особенностью DDS является его система сопоставления
QoS. Стандарт определяет более 20 параметров QoS, охватывающих надежность,
волатильность,жизнеспособность, использование ресурсов, фильтрацию и доставку, право
собственности, избыточность, временные сроки и латентность. Участники «предлагают»
возможности QoS, которые абоненты могут «запросить». Когда middleware рассматривает
запрос к предложению QoS, оно создает «контракт» и гарантирует, что обе стороны
удовлетворяют контракту.
Это обеспечивает максимальную гибкость. Например, один издатель DDS может отправлять
1000 обновлений в секунду контроллеру с максимальной эффективностью, обновлять
приложение регистрации в фоновом режиме со 100% -ной надежностью и многоадресные
обновления ещена 50 узлов всего 10 разв секунду. Как технология,ориентированнаяна
данные, она знает , какие данные находятся в обновлении. Врезультате он может
интеллектуально фильтровать обновления на основе контента,времени или других
критериев. Этот контроль QoSпредлагает оптимизацию потоков данных дляк аждого потока.
КонфигурациянастроекQoS требует понимания и ухода.
В отличие от этого,AMQP использует TCP, что обеспечивает строгую надежность. Каждое
сообщение, помещенноев трубку, должно быть доставлено на другой конец,даже если
требуетсямного попыток. Это просто и работает во многих распространенных случаях, но это не
позволяет контролировать время. Это может быть проблематично,когда система сталкивается с
медленным потребителем. Однолинейный трафикTCP может поддерживатьмного
потоков. AMQP также поддерживает некоторые другие параметры QoS, такие какпостоянство
8
на диске, исключительность и поведениепри удалении, гарантируя, что сообщения не будут
потеряны в различных сценариях сбоя.
Производительность
Обе системы предлагают одноранговые конфигурации и разумнуюпроизводительность между
узлами. Большинство проектов AMQP используют брокера дляупрощения конфигурации и
маршрутизации. Некоторые проекты DDS такжеявляютсяпосредниками или, возможно,
брокерскими, хотяэто не оптимально для большинства приложений.
DDS, поддерживаянадежную многоадресную рассылку UDP и гибкоеQoS, выделяется
масштабируемостью«разветвления».Лучшие реализации DDS могут доставлять сотни тысяч
сообщений (или больше при пакетной обработке) тысячамполучателей в секунду. Контроль
времени также делает DDS уникальным для систем реального времени.
AMQP не конкурирует с этим быстрым распределением данных, но он предлагает
конфигурации, которые не подходят для DDS. Например, дизайн обменника/очереди может
легко справляться с балансировкой нагрузки, распределяя сообщения, кот орыеприходятк
обмену на одну изнескольких очередей.
Очереди сами также предлагают семантику «взять один раз» нескольким читателям. Таким
образом, хорошо обслуживаются большие системы, которые должны обрабатывать многие
сообщенияна многих серверах. Всочетании с возможностью отслеживания, сохранения и
обеспечения обработки каждого сообщенияэто мощный метод распределения работы.
Посредничество и маршрутизация
Подключение сложных систем не так просто, как отправка сообщений или совместное
использование с каждым узлом. Сообщения или переходы состояний часто должны быть
«маршрутизированы» или направлены соответствующим получателям.
Как указано выше, AMQP предлагает маршрутизацию какфундаментальнуючасть архитектуры
брокера. Он поддерживает несколько типов обменов, включая балансировку нагрузки по кругу,
дублирование и сопоставление шаблонов клавиш или заголовков. DDS вместо этого
9
подчеркиваетпрямой и быстрый поток данных. Маршрутизация не рассматриваетсяв
стандарте.
Лучшие поставщики DDS предлагают маршрутизацию как независимую услугу. Реализация
маршрутизации как службы позволяет выполнять функции, отличные от простого направления
сообщений. Это особенно верно, потому что ориентированное на данные промежуточное
программное обеспечение понимает типы данных сообщений.
Например, служба маршрутизации RTI может выбирать определенные поля изсложной
структуры данных, вставлять их в другую структуру и даже выполнять преобразования. Затем
служба маршрутизации может действовать как «защита», экспортируя только
сконфигурированные данные изсложной системы в форме, используемой другой
системой (рис.3) .
3. Благодаря использованию центрирования данных отдельная служба
маршрутизации DDS может контролировать экспорт системы, преобразовывать
модели данных и обеспечивать связь с другими протоколами связи.
Также важно посредничество или процесс перевода между шаблонами связи, такими как
публикация-подписка на запрос-ответ.Сервисные шины предприятия (ESB) предлагают эту
технологию на корпоративном рынке. Подобнаятехнология быстро появляетсяво встроенных
и DDS-проектах. При посредничестве маршрутизатор DDS может подключать несколько
разных доменов DDS или подключать домены DDS к другим технологиям, включаяAMQP.
Что меняет смысл
10
Эти протоколы имеют мало общего и примерно так же различны, как и протоколы, однако оба
они кажутся полезными в подобных областях применения. Это немного запутывает, но….!
Рассмотрим две системы, которыедолжны сосуществовать на кораблевоенно-морского флота в
качестве примера.
Система управления боевыми кораблями (CMS) координирует многиерадары и датчики, чтобы
находить, классифицировать и отслеживать сотни быстродвижущихся объектов. Эта
информация распространяется на дисплеи операторов, нацеленных на оружие и
интеллектуальные алгоритмы тактики. CMSможет содержать сотни независимых
динамических приложений. Миллисекунды, или даже микросекунды, учитываются.
AMQP неуместен в этой настройке. Механизм транзакций, который так полезен в финансовых
сделках,мешает информировать многих получателей о неизбежной угрозе. Например, система
управления дорожкой должна будет отправлять независимые подтверждения каждой
подсистеме.
Подумайте о том, чтобы отправить такую транзакцию на десятки станций:«В этих координатах
есть входящая ракета; вы согласны? ... Подтвердите ". Если 20 приложений нуждались в этой
информации, AMQP отправил бы по меньшей мере40 сообщений, приостанавливаяих между
собой для подтверждения приема. Это не способ защитить корабль.
С другой стороны, DDS просто переадресует этуинформацию каждому получателюв одном
сообщении. Те немногие, которые нуждаются в надежных обновлениях, будут подтверждены
позже. Другие проблемы с QoS, такие какотказоустойчивость,избыточность и живительность,
оптимизируют потокдляобеспечениянадежной работы как при до ставке, таки (важном)
времени.
В результатедля этих типов требовательных приложений реального времени подходит только
DDS. Фактически, практически все современные разработки CMS используют DDS, в том числе
Aegis, систему самообслуживаниякораблей (SSDS), CMS Littoral Combat Ship (LCS), Tacticos в
Европе и новый DDG-1000 ВМС США.
Анализ и поддержка принятия решений
11
На другомконце спектра корабли также должны работатьв сложной человеческой командной
цепочке. Вэтом сценарии информацияот персонала,миссии и источников погоды,
находящихся вне корабля, поступает в стратегическое командование, ситуационную
осведомленность и функции миссии. Средство связывания должно сплавлять эту информацию,
взаимодействовать с базами данных карт и миссий и отображать диски, которые координируют
различные уровни команды. Эти системы поддержки принятиярешений работают на серверах
корпоративного уровня с потребностями только в скорости (в секундах).
Трафик анализа должен надежно связывать команды и информацию с лицами,
принимающими решения. Семантика надежной транзакции AMQP делает ее
естественной. Маршрутизация информации по всем иерархиям упрощаетсяс помощью
концепции обмена, а упрощенная балансировка нагрузки помогает поддерживатьразделение
работы.
В то время какDDS может быть сконфигурирован дляобработки этого потока,
ориентированность на данные и управление в реальном времени налагают нагрузку на
проектированиеи конфигурацию, которая имеет небольшуюотдачу. Врезультате этих
ограничений анализуровняпредставления и сис темы принятиярешений могут лучше
соответствовать протоколу AMQP.
Подключение точек на C2
Это объяснениеделает выбор между DDS и AMQP легким,и в этих крайностях легко. Однако
эти системы должны соединяться в единуюсистему систем. Они вст речаютсяв подсистеме
командования и управления (C2). C2 слияния быстрых данных с человеческой
командой. НажатиеAMQP в CMS невозможно. Нажатие DDS в систему принятия решений
нецелесообразно. Система C2 должна каким-то образом объединить оба.
Итак, как лучше всего реализовать интерфейс C2? Часто это не очевидно. Относительно новые
услуги маршрутизации, особенно при посредничестве, предлагают практический вариант
проектирования. Шина данных DDS идеально подходит дляподключениясистем на высоких
скоростях. При посредничествереализация этой шины данных на стороне C2 может облегчить
подключение служб на основе AMQP к CMS. Кроме того, эта конструкция позволяет
контролировать поток информации в и из CMS, предлагаяестественную точку безопасности.
12
Таким образом, эти протоколы могут хорошо работать вместе. К сожалению,многие
архитекторы считают их использование эксклюзивным выбором. Еще более, к сожалению,
выбор часто сводится к тому, что наиболее знакомо. Это можетпривести к плохим результатам.
Суть в том, что AMQP хорош дляобеспечения того, чтобы сообщение попало източки A в точку
B, в то времякак простое использование может показаться сложнымв DDS. С другой стороны,
DDS упрощает проверку доступности точек A, B, C и D для сложных быстро изменяющихся
потоков данных,что являетсясложной задачей для AMQP.
Оба протокола имеют свои сильные и слабые стороны. Лучшее решение - изучить и
использовать каждый, гдеэто уместно. Когда интегрированные решения имеют разнообразные
потребности, объединение протоколов с технологией по средничества и маршрутизации
обеспечивает чистый путь вперед.
Рекомендации
1. Группа управленияобъектами (OMG)
2. Портал OMG DDS
3. Организация по внедрению стандартов структурированной информации (OASIS)
4. OASIS AMPQ v1.0
Ст эн Шнайдер основал компанию RTI для разработки инструментов повышения
производительности в реальном времени. Он закончил кандидатскую диссертацию по
электротехникеи информатике в Стэнфордском университете. Он имеет степень
бакалавра прикладной математики(summa cum laude) и MS в области компьютерной
инженерии в Мичиганском университете. Он также являетсявыпускником Высшего
управленческого колледжа Стэнфорда.
http://www.electronicdesign.com/embedded/what-s-difference-between-dds-and-amqp

More Related Content

Similar to стэн шнайдер Датацентризм и месседжсентризм

CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWHCodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
CodeFest
 
Обзор технологии Cisco Unified Presence и Cisco IM and Presence
Обзор технологии Cisco Unified Presence и Cisco IM and PresenceОбзор технологии Cisco Unified Presence и Cisco IM and Presence
Обзор технологии Cisco Unified Presence и Cisco IM and Presence
Cisco Russia
 
C# Web. Занятие 03.
C# Web. Занятие 03.C# Web. Занятие 03.
C# Web. Занятие 03.
Igor Shkulipa
 
Программно-конфигурируемые технологии. CISEG, Богдан Вакулюк
Программно-конфигурируемые технологии. CISEG, Богдан ВакулюкПрограммно-конфигурируемые технологии. CISEG, Богдан Вакулюк
Программно-конфигурируемые технологии. CISEG, Богдан Вакулюк
Bogdan Vakulyuk
 

Similar to стэн шнайдер Датацентризм и месседжсентризм (20)

Comp seti2
Comp seti2Comp seti2
Comp seti2
 
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWHCodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
 
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESBАрхитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESB
 
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...
 
Интеграция информационных систем МДМ-банка
Интеграция информационных систем МДМ-банкаИнтеграция информационных систем МДМ-банка
Интеграция информационных систем МДМ-банка
 
Обзор технологии Cisco Unified Presence и Cisco IM and Presence
Обзор технологии Cisco Unified Presence и Cisco IM and PresenceОбзор технологии Cisco Unified Presence и Cisco IM and Presence
Обзор технологии Cisco Unified Presence и Cisco IM and Presence
 
владивосток форум Ensemble
владивосток форум Ensembleвладивосток форум Ensemble
владивосток форум Ensemble
 
Routing
RoutingRouting
Routing
 
Контроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколенияКонтроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколения
 
MW
MWMW
MW
 
Ms it cup win-team - мевв
Ms it cup   win-team - меввMs it cup   win-team - мевв
Ms it cup win-team - мевв
 
C# Web. Занятие 03.
C# Web. Занятие 03.C# Web. Занятие 03.
C# Web. Занятие 03.
 
Отчет «Центра прикладных исследований компьютерных сетей» на Совете фонда "Ск...
Отчет «Центра прикладных исследований компьютерных сетей» на Совете фонда "Ск...Отчет «Центра прикладных исследований компьютерных сетей» на Совете фонда "Ск...
Отчет «Центра прикладных исследований компьютерных сетей» на Совете фонда "Ск...
 
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
 
DATA CLUSTER
 DATA CLUSTER DATA CLUSTER
DATA CLUSTER
 
IBM DataPower In SameTime
IBM DataPower In SameTimeIBM DataPower In SameTime
IBM DataPower In SameTime
 
Naumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
Naumen Network Manager. Мониторинг, понятный и так нужный БизнесуNaumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
Naumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
 
GreenHat и TIBCO EMS
GreenHat и TIBCO EMSGreenHat и TIBCO EMS
GreenHat и TIBCO EMS
 
Программно-конфигурируемые технологии. CISEG, Богдан Вакулюк
Программно-конфигурируемые технологии. CISEG, Богдан ВакулюкПрограммно-конфигурируемые технологии. CISEG, Богдан Вакулюк
Программно-конфигурируемые технологии. CISEG, Богдан Вакулюк
 
Презентация КлаудМастер
Презентация КлаудМастерПрезентация КлаудМастер
Презентация КлаудМастер
 

More from Sergei Seleznev

Федеральный закон "Государственная информационная система "Безопасный город"
Федеральный закон "Государственная информационная система "Безопасный город"Федеральный закон "Государственная информационная система "Безопасный город"
Федеральный закон "Государственная информационная система "Безопасный город"
Sergei Seleznev
 

More from Sergei Seleznev (13)

Data Destribution service OMG standart
Data Destribution service OMG standart Data Destribution service OMG standart
Data Destribution service OMG standart
 
Ibm mq против apache active mq производительность обновления сравнения
Ibm mq против apache active mq производительность обновления сравненияIbm mq против apache active mq производительность обновления сравнения
Ibm mq против apache active mq производительность обновления сравнения
 
Red hat jboss a-mq и ibm mq 8
Red hat jboss a-mq и ibm mq 8Red hat jboss a-mq и ibm mq 8
Red hat jboss a-mq и ibm mq 8
 
Концепция Безгород с моими комментариями
Концепция Безгород с моими комментариямиКонцепция Безгород с моими комментариями
Концепция Безгород с моими комментариями
 
газовая безопасность
газовая безопасностьгазовая безопасность
газовая безопасность
 
Город - как предприятие
Город - как предприятиеГород - как предприятие
Город - как предприятие
 
Федеральный закон "Государственная информационная система "Безопасный город"
Федеральный закон "Государственная информационная система "Безопасный город"Федеральный закон "Государственная информационная система "Безопасный город"
Федеральный закон "Государственная информационная система "Безопасный город"
 
смоб регион
смоб регионсмоб регион
смоб регион
 
Система Комплексного Обеспечения Безопасности Жизнедеятельности регионаскобж ...
Система Комплексного Обеспечения Безопасности Жизнедеятельности регионаскобж ...Система Комплексного Обеспечения Безопасности Жизнедеятельности регионаскобж ...
Система Комплексного Обеспечения Безопасности Жизнедеятельности регионаскобж ...
 
Безопасный город Красноярск
Безопасный город КрасноярскБезопасный город Красноярск
Безопасный город Красноярск
 
Концепция Интеллектуальной Транспортной Системы РКСС-VRR-групп.pptx
Концепция Интеллектуальной Транспортной Системы РКСС-VRR-групп.pptxКонцепция Интеллектуальной Транспортной Системы РКСС-VRR-групп.pptx
Концепция Интеллектуальной Транспортной Системы РКСС-VRR-групп.pptx
 
архитектура инфопотоков
архитектура инфопотоковархитектура инфопотоков
архитектура инфопотоков
 
Situational awareness
Situational awarenessSituational awareness
Situational awareness
 

стэн шнайдер Датацентризм и месседжсентризм

  • 1. 1 Стэн Шнайдер, 2013 В чем разница между DDS и AMQP? Интеллектуальные системы «машина-машина» сталкиваются с проблемами, которые не решаются большинством корпоративных сетевых программ. Из тысяч стандартов протокола обмена сообщениями два являются наиболее важными на этом рынке: DDS, международный стандарт OMG и AMQP, управляемый OASIS. Интеллектуальные системы «машина-машина», такие как военно-морские боевые корабли или 500-турбинные ветряные электростанции, сталкиваются с проблемами, которыене решаются большинством корпоративных сетевых программ. Из тысяч стандартов протокола обмена сообщениями два становятся наиболееважными на этомрынке:Служба распространения данных (DDS), международный стандарт группой управления объектами (OMG) и расширенным протокол очереди сообщений (AMQP), управляемый Организацией по совершенствованию стандартов структурированной информации (OASIS). Содержание  Введение  Как работаетAMQP  Как работаетDDS  Управление состоянием  Дата-центричностьили сообщение-центричность  стандарты  конфигурация  КонтрольQoS  Представление  Посредничество и маршрутизация  Что меняет смысл  Подключение точекна C2  Рекомендации Введение DDS - это дата-центричное middleware, ориентированный на данные, с корнями в высокопроизводительные защитные,промышленные и встроенные приложения. Он может
  • 2. 2 эффективно доставлять миллионы сообщений в секунду многим одновременным приемникам. Растущий список поставщиков предоставляет DDS тысячам требовательных приложений. AMQP - это middleware, ориентированное на сообщения, которое возникло в банковской отрасли. Он может обрабатывать тысячи надежных транзакций в очереди. Он также имеет поддержку нескольких поставщиков и множество успешных приложений. DDS и AMQP являютсястандартами обмена сообщениями. Обе возможности взаимодействия используютсяв критически важных системах. Те, кто новичокв технологиях, могут найти выбор (или комбинацию) запутанным. Однако на самом деле это совершенно разные, даже дополнительные технологии. Их области применения перекрываются редко. Правильный выбор может внести существенный вклад. DDS обеспечивает взаимодействиев режиме реального времени, многие-ко-многим, управляемое соединение, требуемое высокопроизводительными машинными приложениями. AMQP больше фокусируется на предоставлении быстрых и надежных бизнес-транзакций. Выбор AMQP для варианта использования большого разветвления ил и выборDDS для транзакционного использования может привести к сложности, ужасающей производительности или даже сбою. Таким образом, это важный выбор дизайна. Разработчики приложений должны понимать различия между AMQP и DDS, которыевключают в себя управление состоянием, ориентированность на сообщения по сравнению с центрами данных,стандартами, конфигурацией, контролем качества обслуживания, производительностью, посредничеством и маршрутизацией. Как работает AMQP AMQP структурирует связь в качестве публикации для обмена, маршрутизации между обменами и очередями, а затем подписывается на очереди (рис.1) . Обменивает контроль, куда идут сообщения. Например, они могут просто передавать сообщенияв одну очередь, распределять сообщения изнескольких очередей, дублировать каждое сообщение в несколько очередей или отправлять сообщенияна основе некоторого шаблона. Обменник(Exchanger) и очереди живут в «брокере». Сила брокера - это гибкость в этих шаблонах доставки, называемая «маршрутизация». Маршрутизация являетсяэндемичной дляброкеров AMQP. Уровень
  • 3. 3 косвенности дает модели максимальную гибкость. (Болееновая спецификация OASIS, AMQP v1.0, не определяет поведение брокера,она описывает только протоколы базовых сообщений и протоколов транзакций. Однако основные реализации используют эту архитектуру, 1. Издатель AMQP отправляют на обменник, который отправляет сообщения в очереди. Абоненты потребляют из очередей. Сообщения от издателей к обменнику и от очередей к подписчикам используют TCP, который обеспечивает строго надежноедвухточечноесоединение. Кроме того,конечные точки должны подтвердить принятие каждого сообщения. Стандарт также описывает необязательный режим транзакции с формальной последовательностью многофазных фиксаций. Изначальное происхождение в банковской отрасли, AMQP фокусируетсяна отслеживании всех сообщений и обеспечении того,чтобы каждое сообщение было доставлено по назначению, независимо от сбоев или перезагрузок. Как работает DDS DDS структурирует коммуникации как чтение и запись в виртуальное «глобальное пространство данных». Чтобы использовать его, вы определяетемодель данных именованных топиков с указанными типами данных. Затем инфраструктура контролирует изменение и доступ к данным. Топик похож на таблицу базы данных и тип ее схемы. Любые полятипа могут
  • 4. 4 быть ключом. DDS позволяет изменять динамические модели данных, которыесочетают преимущества структурированных данных с легкой эволюцией системы. Хотя DDS моделирует всевзаимодействиякак чтение и запись в глобальное пространство данных, данные поступают непосредственно от издателей (производителей) к подписчикам (потребителям). Но здесь нет брокера. Вместо этого издатели и подписчики подключаются к «шине данных». Очень обширный набор параметров качества обслуживания (QoS) точно контролирует,как информация поступает от издателей и подписчиков черезшину. Middleware сопоставляет издателей с подписчиками на основе их типов, т опиков и QoS. Результатом является быстрая, прямая, управляемаясвязь (рис.2) . 2. DDS соединяет участников через управляемую QoS «шину данных». Присоединение к шине требует четкой спецификации необходимых взаимодействий, например, скорости обновления, надежности и фильтрации. DDS работает по многимтранспортам,включая TCP, UDP (включая многоадресную рассылку), общую память, свичующуюфабрику и многое другое. Это не зависит от базового транспорта для надежности, а вместо этого реализует настраиваемый протокол надежности для каждого потока. Управление состоянием AMQP возникла избанковской отрасли. Ключевой проблемой во многих финансовых приложениях является поддержание точных историй транзакций, таких как то, что произошло с платёжкой или сколько было внесено на счет. Вот почему AMQP подчеркивает важ ность того, чтобы никогда не терять сообщения и знать, что с ними произошло. Эти проекты предполагают,что приложения управляют состоянием в локальномхранилище. Брокеры сохраняют и передают информацию между приложениями беззнания или контроля состояния.
  • 5. 5 Из-за своих корней в высокопроизводительных встроенных системах DDS подчеркивает скорость и масштабирование, управление временем и гибкоеуправление доставкой. Вотличие от AMQP, он стремитсяупроститьприложения, делегируябольшую часть управления состоянием промежуточному программному обеспечению. Дата-центричность или сообщение-центричность Цели управления состоянием приводят к еще болееглубокой разнице. AMQP - это протокол, ориентированный на сообщения. DDS ориентирован на данные. Хотя оба типа middleware служат для подключения распределенных систем,подходы совершенно разные. Когда вы используете ориентированный на сообщение дизайн, единица обмена информацией - это само сообщение. Роль инфраструктуры заключается в обеспечении того,чтобы сообщения доходили до предполагаемых получателей. Как файловая система, сообщение может включать в себя что угодно в любом формате. Инфраструктура просто передает информацию. Технологии, ориентированные на данные, вместо этого понимают сами данные и поэтому могут управлять различными типами поведения состояния.Основная единица коммуникации - это значение данных. Задача инфраструктуры - не просто доставлять сообщения, но и гарантировать, что все узлы имеют синхронизированное и общеепонимание значения данных. Подобно базе данных, middleware, ориентированноена данные, понимает форматы сообщений и обеспечивает соблюдение правил доступа. Это философскоеразличие имеет много последствий. Вдвух словах, ориентированноена данные middleware предлагает лучшуюмасштабируемость «разветвления» и лучшее управление состоянием, за счет перехода некоторой сложности в middleware. Системы, ориентированные на данные, превосходят сложные проблемы интеграции, требующие четкой архитектуры и управленияжизненным циклом. Здесь очень подходит аналогия с базой данных. Cтандарты Характерсоответствующих стандартов также совершенно другой. AMQP – специфицирует wire протокол.Его основнаяцель - обеспечить возможность взаимодействия между различными
  • 6. 6 реализациями спецификации AMQP. Тогда разработчики системы могутинтегрировать модули,созданные с использованием разных продуктов. AMQP не рассматривает интерфейс прикладного программиста (API). Внекоторых реализациях используется служба обмена сообщениями Java (JMS), но это относится только к Java и не привязано непосредственно к функциямпротокола. С другой стороны, DDS включает в себякак спецификации wire, таки API. Спецификация API позволяет использовать многие языки. Ведущие поставщики поддерживают C, C ++, Java, C #, Ada, Scala, Python и другие. Связь между языками,операционными системами и типами процессоров прозрачна. Использование стандартизованного APIподразумевает, что программное обеспечение легк о переносится между реализациями поставщика. Следовательно, пользователи не блокируются для поставщика, даже для одной подсистемы. Тем не менее сообщество разработчиков DDS регулярно тестирует взаимодействие с проводниками с демонстрациями, включающими все болеесложный контроль QoS. До сих пор участвовали девять вендоров. Конфигурация Крупная распределенная системаможет содержать тысячи приложений, запускаться на сотнях компьютеров и передавать миллионы отдельных частей информации. Настройка такой системы может быть проблемой. Каким-то образом каждое приложение должно найти нужную ему информацию, подключить источники и приемники и обеспечить надлежащую связь. Системы AMQP подходят к этой проблемечерезпосредников-брокеров. Конфигурация проста. Приложения отправляют сообщения на обменник и подписываютсяна очереди, используяизвестные имена и адреса брокера/сервера. Это просто, но требуетручного обслуживания.Он такженегибкий во время выполнения. Напротив, DDS использует автоматическую технологию «обнаружения».Участники просто заявляют, какую информацию они знают и что им нужно по типу, т опику и QoS. Фоновый протокол «мета трафика» автоматически подключает источники к приемникам. Конфигурация
  • 7. 7 состоит в том,чтобы просто информировать всех игроков о своих потенциальных узлах-пирах. Изменения времени выполненияявляютсяестественными и ожидаемыми. Например, система AMQP может публиковать «температуру» для обмена «среда». Он должен знать, черезконфигурацию, где находитсяобменник. Издатель DDS только объявляет, что он публикует «температуру». Затем middlewareнайдет всех подписчиков на «температуру» и составит соответствующие соединения с шинами данных. Контроль QoS Пожалуй,самой отличительной особенностью DDS является его система сопоставления QoS. Стандарт определяет более 20 параметров QoS, охватывающих надежность, волатильность,жизнеспособность, использование ресурсов, фильтрацию и доставку, право собственности, избыточность, временные сроки и латентность. Участники «предлагают» возможности QoS, которые абоненты могут «запросить». Когда middleware рассматривает запрос к предложению QoS, оно создает «контракт» и гарантирует, что обе стороны удовлетворяют контракту. Это обеспечивает максимальную гибкость. Например, один издатель DDS может отправлять 1000 обновлений в секунду контроллеру с максимальной эффективностью, обновлять приложение регистрации в фоновом режиме со 100% -ной надежностью и многоадресные обновления ещена 50 узлов всего 10 разв секунду. Как технология,ориентированнаяна данные, она знает , какие данные находятся в обновлении. Врезультате он может интеллектуально фильтровать обновления на основе контента,времени или других критериев. Этот контроль QoSпредлагает оптимизацию потоков данных дляк аждого потока. КонфигурациянастроекQoS требует понимания и ухода. В отличие от этого,AMQP использует TCP, что обеспечивает строгую надежность. Каждое сообщение, помещенноев трубку, должно быть доставлено на другой конец,даже если требуетсямного попыток. Это просто и работает во многих распространенных случаях, но это не позволяет контролировать время. Это может быть проблематично,когда система сталкивается с медленным потребителем. Однолинейный трафикTCP может поддерживатьмного потоков. AMQP также поддерживает некоторые другие параметры QoS, такие какпостоянство
  • 8. 8 на диске, исключительность и поведениепри удалении, гарантируя, что сообщения не будут потеряны в различных сценариях сбоя. Производительность Обе системы предлагают одноранговые конфигурации и разумнуюпроизводительность между узлами. Большинство проектов AMQP используют брокера дляупрощения конфигурации и маршрутизации. Некоторые проекты DDS такжеявляютсяпосредниками или, возможно, брокерскими, хотяэто не оптимально для большинства приложений. DDS, поддерживаянадежную многоадресную рассылку UDP и гибкоеQoS, выделяется масштабируемостью«разветвления».Лучшие реализации DDS могут доставлять сотни тысяч сообщений (или больше при пакетной обработке) тысячамполучателей в секунду. Контроль времени также делает DDS уникальным для систем реального времени. AMQP не конкурирует с этим быстрым распределением данных, но он предлагает конфигурации, которые не подходят для DDS. Например, дизайн обменника/очереди может легко справляться с балансировкой нагрузки, распределяя сообщения, кот орыеприходятк обмену на одну изнескольких очередей. Очереди сами также предлагают семантику «взять один раз» нескольким читателям. Таким образом, хорошо обслуживаются большие системы, которые должны обрабатывать многие сообщенияна многих серверах. Всочетании с возможностью отслеживания, сохранения и обеспечения обработки каждого сообщенияэто мощный метод распределения работы. Посредничество и маршрутизация Подключение сложных систем не так просто, как отправка сообщений или совместное использование с каждым узлом. Сообщения или переходы состояний часто должны быть «маршрутизированы» или направлены соответствующим получателям. Как указано выше, AMQP предлагает маршрутизацию какфундаментальнуючасть архитектуры брокера. Он поддерживает несколько типов обменов, включая балансировку нагрузки по кругу, дублирование и сопоставление шаблонов клавиш или заголовков. DDS вместо этого
  • 9. 9 подчеркиваетпрямой и быстрый поток данных. Маршрутизация не рассматриваетсяв стандарте. Лучшие поставщики DDS предлагают маршрутизацию как независимую услугу. Реализация маршрутизации как службы позволяет выполнять функции, отличные от простого направления сообщений. Это особенно верно, потому что ориентированное на данные промежуточное программное обеспечение понимает типы данных сообщений. Например, служба маршрутизации RTI может выбирать определенные поля изсложной структуры данных, вставлять их в другую структуру и даже выполнять преобразования. Затем служба маршрутизации может действовать как «защита», экспортируя только сконфигурированные данные изсложной системы в форме, используемой другой системой (рис.3) . 3. Благодаря использованию центрирования данных отдельная служба маршрутизации DDS может контролировать экспорт системы, преобразовывать модели данных и обеспечивать связь с другими протоколами связи. Также важно посредничество или процесс перевода между шаблонами связи, такими как публикация-подписка на запрос-ответ.Сервисные шины предприятия (ESB) предлагают эту технологию на корпоративном рынке. Подобнаятехнология быстро появляетсяво встроенных и DDS-проектах. При посредничестве маршрутизатор DDS может подключать несколько разных доменов DDS или подключать домены DDS к другим технологиям, включаяAMQP. Что меняет смысл
  • 10. 10 Эти протоколы имеют мало общего и примерно так же различны, как и протоколы, однако оба они кажутся полезными в подобных областях применения. Это немного запутывает, но….! Рассмотрим две системы, которыедолжны сосуществовать на кораблевоенно-морского флота в качестве примера. Система управления боевыми кораблями (CMS) координирует многиерадары и датчики, чтобы находить, классифицировать и отслеживать сотни быстродвижущихся объектов. Эта информация распространяется на дисплеи операторов, нацеленных на оружие и интеллектуальные алгоритмы тактики. CMSможет содержать сотни независимых динамических приложений. Миллисекунды, или даже микросекунды, учитываются. AMQP неуместен в этой настройке. Механизм транзакций, который так полезен в финансовых сделках,мешает информировать многих получателей о неизбежной угрозе. Например, система управления дорожкой должна будет отправлять независимые подтверждения каждой подсистеме. Подумайте о том, чтобы отправить такую транзакцию на десятки станций:«В этих координатах есть входящая ракета; вы согласны? ... Подтвердите ". Если 20 приложений нуждались в этой информации, AMQP отправил бы по меньшей мере40 сообщений, приостанавливаяих между собой для подтверждения приема. Это не способ защитить корабль. С другой стороны, DDS просто переадресует этуинформацию каждому получателюв одном сообщении. Те немногие, которые нуждаются в надежных обновлениях, будут подтверждены позже. Другие проблемы с QoS, такие какотказоустойчивость,избыточность и живительность, оптимизируют потокдляобеспечениянадежной работы как при до ставке, таки (важном) времени. В результатедля этих типов требовательных приложений реального времени подходит только DDS. Фактически, практически все современные разработки CMS используют DDS, в том числе Aegis, систему самообслуживаниякораблей (SSDS), CMS Littoral Combat Ship (LCS), Tacticos в Европе и новый DDG-1000 ВМС США. Анализ и поддержка принятия решений
  • 11. 11 На другомконце спектра корабли также должны работатьв сложной человеческой командной цепочке. Вэтом сценарии информацияот персонала,миссии и источников погоды, находящихся вне корабля, поступает в стратегическое командование, ситуационную осведомленность и функции миссии. Средство связывания должно сплавлять эту информацию, взаимодействовать с базами данных карт и миссий и отображать диски, которые координируют различные уровни команды. Эти системы поддержки принятиярешений работают на серверах корпоративного уровня с потребностями только в скорости (в секундах). Трафик анализа должен надежно связывать команды и информацию с лицами, принимающими решения. Семантика надежной транзакции AMQP делает ее естественной. Маршрутизация информации по всем иерархиям упрощаетсяс помощью концепции обмена, а упрощенная балансировка нагрузки помогает поддерживатьразделение работы. В то время какDDS может быть сконфигурирован дляобработки этого потока, ориентированность на данные и управление в реальном времени налагают нагрузку на проектированиеи конфигурацию, которая имеет небольшуюотдачу. Врезультате этих ограничений анализуровняпредставления и сис темы принятиярешений могут лучше соответствовать протоколу AMQP. Подключение точек на C2 Это объяснениеделает выбор между DDS и AMQP легким,и в этих крайностях легко. Однако эти системы должны соединяться в единуюсистему систем. Они вст речаютсяв подсистеме командования и управления (C2). C2 слияния быстрых данных с человеческой командой. НажатиеAMQP в CMS невозможно. Нажатие DDS в систему принятия решений нецелесообразно. Система C2 должна каким-то образом объединить оба. Итак, как лучше всего реализовать интерфейс C2? Часто это не очевидно. Относительно новые услуги маршрутизации, особенно при посредничестве, предлагают практический вариант проектирования. Шина данных DDS идеально подходит дляподключениясистем на высоких скоростях. При посредничествереализация этой шины данных на стороне C2 может облегчить подключение служб на основе AMQP к CMS. Кроме того, эта конструкция позволяет контролировать поток информации в и из CMS, предлагаяестественную точку безопасности.
  • 12. 12 Таким образом, эти протоколы могут хорошо работать вместе. К сожалению,многие архитекторы считают их использование эксклюзивным выбором. Еще более, к сожалению, выбор часто сводится к тому, что наиболее знакомо. Это можетпривести к плохим результатам. Суть в том, что AMQP хорош дляобеспечения того, чтобы сообщение попало източки A в точку B, в то времякак простое использование может показаться сложнымв DDS. С другой стороны, DDS упрощает проверку доступности точек A, B, C и D для сложных быстро изменяющихся потоков данных,что являетсясложной задачей для AMQP. Оба протокола имеют свои сильные и слабые стороны. Лучшее решение - изучить и использовать каждый, гдеэто уместно. Когда интегрированные решения имеют разнообразные потребности, объединение протоколов с технологией по средничества и маршрутизации обеспечивает чистый путь вперед. Рекомендации 1. Группа управленияобъектами (OMG) 2. Портал OMG DDS 3. Организация по внедрению стандартов структурированной информации (OASIS) 4. OASIS AMPQ v1.0 Ст эн Шнайдер основал компанию RTI для разработки инструментов повышения производительности в реальном времени. Он закончил кандидатскую диссертацию по электротехникеи информатике в Стэнфордском университете. Он имеет степень бакалавра прикладной математики(summa cum laude) и MS в области компьютерной инженерии в Мичиганском университете. Он также являетсявыпускником Высшего управленческого колледжа Стэнфорда. http://www.electronicdesign.com/embedded/what-s-difference-between-dds-and-amqp