Pattern

Middleware для IoT и цифровых двойников

TimeIcon

3 мин.

EyeIcon

9

scroll iconScroll

Цифровые двойники позволяют создавать точные копии физических объектов или процессов в цифровом пространстве. Этот термин известен еще с 2002 года и подразумевает создание цифровых двойников реальных объектов в виртуальном мире для оптимизации производственных процессов — например, определения оптимального расположения оборудования на заводе или оптимизации логистики. Развитие облачных технологий выявило дополнительные сценарии.

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

Какие проблемы возникают при планировании архитектуры и как их решает Middleware

В момент планирования архитектуры часто выясняется, что данные, необходимые для принятия решения, разбросаны по разным системам. Часть из них работает по протоколам, которые несовместимы друг с другом, часть — Open Source, часть — проприетарные. Приведение их к одному знаменателю сложно или даже совсем невозможно. Внести изменения в проприетарный продукт невозможно, а на изменения открытых систем может не быть человеческих или финансовых возможностей.

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

Чем новый подход решения этих задач отличается от классического?

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

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

Какие возможности дает Tarantool в системе цифровых двойников

Tarantool — это расширяемая Middleware-платформа, которая состоит из In-memory-базы данных и сервера приложений. Tarantool изначально проектировался так, чтобы дать максимальную пропускную способность для данных с возможностью выполнения операций над ними по определенным правилам или с использованием бизнес-логики приложений, написанных на Lua.

В ИТ-архитектуре цифровых двойников Tarantool может решать несколько задач:

t3.jpg

Tarantool в данной конфигурации используется как Middleware — связующий слой между несколькими системами. Сообщения (логи, события, любая другая телеметрия) отправляются в очередь, из которой попадают в Tarantool. Tarantool имеет готовые коннекторы к основным базам данных, шинам, очередям: Oracle, Kafka, MySQL, PostgreSQL, MQTT и другим. На схеме использовали MQTT, так как в большинстве реальных IoT-проектов нужен протокол с малым Footprint.

Если необходима высокая скорость обмена данными, они хранятся в памяти. В памяти хранится текущее состояние цифрового двойника. На диск регулярно сбрасываются сообщения, которые отображают историческое состояние или дополнительную информацию, на данный момент несущественную. На диске хранится архив. Tarantool выступает как постоянное либо промежуточное хранилище данных. Он на порядок быстрее основной базы данных: выдерживает нагрузку свыше 100 тысяч RPS против 1 тысячи для традиционной СУБД. Такое решение легко масштабировать через репликацию и шардирование.

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

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

Вывод

Запись на диск, синхронная репликация и механизмы резервного восстановления позволяют хранить на Tarantool данные Mission-critical-систем. Например, профили пользователей или данные для авторизации.

Конкретный пример реализации цифровых двойников в IoT-проекте на Tarantool с большим количеством технических подробностей можно изучить тут .

Читайте также

Как правильно приготовить «данные»? Тренды разработки 2023

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

Масштабирование без потери производительности

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

Рабочее место разработчика с Tarantool: часть 1

Tarantool решает конкретные задачи внутри больших архитектур. Поэтому к нам поступает много вопросов о том, какие инструменты можно использовать на своем рабочем месте разработчику Lua+Tarantool.
ArrayIcon