[Документация Yandex Cloud](../../index.md) > [Yandex IoT Core](../index.md) > Концепции > Взаимосвязь ресурсов сервиса

# Взаимосвязь ресурсов в Yandex IoT Core

{% note warning %}

Сервис Yandex IoT Core больше не доступен для новых пользователей. 

Текущие пользователи могут создавать ресурсы до 1 ноября 2026 года. После сервис перейдет в режим read-only, а 1 декабря 2026 года — прекратит работу. Подробнее о сроках и порядке закрытия читайте на странице [Закрытие сервиса](../sunset.md).

{% endnote %}

Сервис предоставляет две модели управления ресурсами: брокеры и реестры устройств. Основными элементами сервиса являются [устройство](index.md#device), [реестр](index.md#registry) и [брокер](index.md#broker), которые могут обмениваться различными данными и командами с помощью [MQTT-сервера](index.md#mqtt-server). 

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

Обмен данными происходит по протоколу [MQTT](https://mqtt.org) версии 3.1.1. Это упрощенный сетевой протокол для взаимодействия между устройствами по принципу издатель-подписчик. 

Чтобы начать обмен данными и командами между устройствами и реестрами, необходимо [авторизоваться](authorization.md). Это можно сделать с помощью X.509-сертификатов или по логину и паролю.

## Устройство {#device}

_Устройство_ — экземпляр физического устройства, например, датчика температуры, представленный в сервисе в виде имени устройства и его сертификата.

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

## Реестр {#registry}

_Реестр_ — набор устройств, логически связанных между собой. Реестр может читать телеметрические данные устройств и отправлять им команды. Чтобы реестр и устройства внутри него перестали принимать входящие соединения, можно [отключить](../operations/registry/registry-disabling.md) реестр.

## Брокер {#broker}

{% note info %}

Брокер находится на стадии [Preview](../../overview/concepts/launch-stages.md).

{% endnote %}

_Брокер_ — виртуальный [MQTT-сервер](../../glossary/mqtt-server.md), позволяющий MQTT-клиентам обмениваться сообщениями в изолированном пространстве топиков. Брокер накладывает меньше ограничений на способы обмена сообщениями, чем модель реестров устройств.

## MQTT-сервер {#mqtt-server}

_MQTT-сервер_ — это центральный узел для обмена MQTT-сообщениями между устройствами и реестрами. Обмен данными происходит только через сервер. Он отвечает за получение и обработку сообщений, а также контролирует их доставку MQTT-клиентам (устройствам или реестрам), обеспечивая необходимый [уровень качества обслуживания (QoS)](#qos).

_MQTT-клиенты_ — это устройства, реестры и клиенты брокера, которые обмениваются сообщениями с данными или командами. Каждое сообщение содержит _топик_ — тему сообщения, которая позволяет классифицировать данные и определить, какому клиенту они предназначаются.

Чтобы устройства, реестры и клиенты брокера получали сообщения друг от друга через MQTT-сервер, [подпишите их на нужные топики](../operations/subscribe.md).

Если у вас есть устройства, на показания датчиков которых нужно оперативно реагировать, а в вашей сети возможны перебои со связью и разрыв соединения между устройствами и MQTT-сервером, вы можете подписать устройства и реестры на [перманентные топики](topic/index.md).
Например, используйте перманентные топики для датчиков температуры на устройствах, которые нужно оперативно отключить при нагревании до определенной температуры.

## Уровни качества обслуживания (QoS) {#qos}

При обмене сообщениями сервис Yandex IoT Core поддерживает следующие уровни качества обслуживания ([QoS](../../glossary/qos.md)) для MQTT:

* `QoS 0: At most once`. Сообщение отправляется не более одного раза и без гарантии доставки.

* `QoS 1: At least once`. Сообщение гарантированно доставляется хотя бы один раз. Есть вероятность получения дубликатов сообщения.

Подробнее об ограничениях сервиса Yandex IoT Core читайте в разделе [Квоты и лимиты в Yandex IoT Core](limits.md).

### Примеры использования {#examples-device}

* [Работа с Yandex IoT Core с устройства Android на языке Java](../tutorials/android-java.md)
* [Запись данных с устройства в базу данных](../tutorials/data-recording.md)
* [Тестирование доставки сообщения](../tutorials/message-delivery-check.md)
* [Отправить сообщение с использованием Mosquitto](../tutorials/mosquitto/mosquitto-publish.md)
* [Мониторинг состояния географически распределенных устройств](../tutorials/datalens.md)
* [Мониторинг показаний датчиков и уведомления о событиях](../tutorials/monitoring.md)
* [Тестирование доставки сообщения](../tutorials/message-delivery-check.md)
* [Эмуляция множества IoT-устройств](../tutorials/iot-emulation.md)