Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Serverless Integrations
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Практические руководства
    • Все руководства
    • Самостоятельное развертывание веб-интерфейса Apache Kafka®
    • Обновление кластера Managed Service for Apache Kafka® с ZooKeeper на KRaft
    • Миграция БД из стороннего кластера Apache Kafka® в Managed Service for Apache Kafka®
    • Перенос данных между кластерами Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for YDB в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Yandex StoreDoc с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for MySQL® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for OpenSearch с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for PostgreSQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Data Streams с помощью Data Transfer
    • Поставка данных из Data Streams в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Data Streams в Managed Service for Apache Kafka® с помощью Data Transfer
    • Захват изменений YDB и поставка в YDS
    • Настройка Kafka Connect для работы с кластером Managed Service for Apache Kafka®
    • Синхронизация топиков Apache Kafka® в Object Storage без использования интернета
    • Отслеживание потери сообщений в топике Apache Kafka®
    • Автоматизация задач Query с помощью Managed Service for Apache Airflow™
    • Отправка запросов к API Yandex Cloud через Yandex Cloud Python SDK
    • Настройка SMTP-сервера для отправки уведомлений по электронной почте
    • Добавление данных в БД ClickHouse®
    • Миграция данных в Managed Service for ClickHouse® средствами ClickHouse®
    • Миграция данных в Managed Service for ClickHouse® при помощи Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for ClickHouse® с помощью Data Transfer
    • Асинхронная репликация данных из PostgreSQL в ClickHouse®
    • Обмен данными между Managed Service for ClickHouse® и Yandex Data Processing
    • Настройка Managed Service for ClickHouse® для Graphite
    • Получение данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse®
    • Получение данных из Managed Service for Apache Kafka® в ksqlDB
    • Получение данных из RabbitMQ в Managed Service for ClickHouse®
    • Сохранение потока данных Data Streams в Managed Service for ClickHouse®
    • Асинхронная репликация данных из Яндекс Метрика в ClickHouse® с помощью Data Transfer
    • Использование гибридного хранилища в Managed Service for ClickHouse®
    • Шардирование таблиц Managed Service for ClickHouse®
    • Загрузка данных из Яндекс Директ в витрину Managed Service for ClickHouse® с использованием Cloud Functions, Object Storage и Data Transfer
    • Загрузка данных из Object Storage в Managed Service for ClickHouse® с помощью Data Transfer
    • Миграция данных со сменой хранилища из Managed Service for OpenSearch в Managed Service for ClickHouse® с помощью Data Transfer
    • Загрузка данных из Managed Service for YDB в Managed Service for ClickHouse® с помощью Data Transfer
    • Интеграция Yandex Managed Service for ClickHouse® с Microsoft SQL Server через ClickHouse® JDBC Bridge
    • Миграция базы данных из Google BigQuery в Managed Service for ClickHouse®
    • Интеграция Yandex Managed Service for ClickHouse® с Oracle через ClickHouse® JDBC Bridge
    • Выполнение аналитических запросов в Managed Service for PostgreSQL с обработкой в Managed Service for ClickHouse®
    • Настройка Cloud DNS для доступа к кластеру Managed Service for ClickHouse® из других облачных сетей
    • Миграция кластера Yandex Data Processing с HDFS в другую зону доступности
    • Импорт данных из Managed Service for MySQL® в Yandex Data Processing с помощью Sqoop
    • Импорт данных из Managed Service for PostgreSQL в Yandex Data Processing с помощью Sqoop
    • Монтирование бакетов Object Storage к файловой системе хостов Yandex Data Processing
    • Работа с топиками Apache Kafka® с помощью Yandex Data Processing
    • Автоматизация работы с Yandex Data Processing с помощью Managed Service for Apache Airflow™
    • Совместная работа с таблицами Yandex Data Processing с использованием Apache Hive™ Metastore
    • Перенос метаданных между кластерами Yandex Data Processing с помощью Apache Hive™ Metastore
    • Импорт данных из Object Storage, обработка и экспорт в Managed Service for ClickHouse®
    • Миграция коллекций из стороннего кластера MongoDB в Yandex StoreDoc
    • Миграция данных в Yandex StoreDoc
    • Миграция кластера Yandex StoreDoc с версии 4.4 на 6.0
    • Шардирование коллекций Yandex StoreDoc
    • Анализ производительности и оптимизация Yandex StoreDoc
    • Анализ производительности и оптимизация Managed Service for MySQL®
    • Синхронизация данных из стороннего кластера MySQL® в Managed Service for MySQL® с помощью Data Transfer
    • Миграция БД из Managed Service for MySQL® в сторонний кластер MySQL®
    • Миграция БД из Managed Service for MySQL® в Object Storage с помощью Data Transfer
    • Перенос данных из Object Storage в Managed Service for MySQL® с использованием Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Debezium
    • Миграция БД из Managed Service for MySQL® в Managed Service for YDB с помощью Data Transfer
    • Захват изменений MySQL® и поставка в YDS
    • Миграция данных из Managed Service for MySQL® в Managed Service for PostgreSQL с помощью Data Transfer
    • Миграция данных из AWS RDS for PostgreSQL в Managed Service for PostgreSQL с помощью Data Transfer
    • Миграция данных из Managed Service for MySQL® в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Настройка политики индексов в Managed Service for OpenSearch
    • Настройка политики холодного хранилища в Managed Service for OpenSearch
    • Миграция данных в Managed Service for OpenSearch из стороннего кластера OpenSearch с помощью Data Transfer
    • Загрузка данных из Managed Service for OpenSearch в Object Storage с помощью Data Transfer
    • Миграция данных из Managed Service for OpenSearch в Managed Service for YDB с помощью Data Transfer
    • Копирование данных из Managed Service for OpenSearch в Yandex MPP Analytics for PostgreSQL с помощью Yandex Data Transfer
    • Миграция данных из Managed Service for PostgreSQL в Managed Service for OpenSearch с помощью Data Transfer
    • Аутентификация в OpenSearch Dashboards кластера Managed Service for OpenSearch с помощью Keycloak
    • Использование плагина yandex-lemmer в Managed Service for OpenSearch
    • Отправка оповещений по электронной почте в Managed Service for OpenSearch
    • Подключение MCP-клиента к кластеру OpenSearch
    • Создание кластера PostgreSQL для «1С:Предприятия»
    • Логическая репликация PostgreSQL
    • Миграция БД из стороннего кластера PostgreSQL в Managed Service for PostgreSQL
    • Миграция БД из Managed Service for PostgreSQL
    • Миграция кластера Managed Service for PostgreSQL на другую версию
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for YDB с помощью Data Transfer
    • Миграция БД из Managed Service for PostgreSQL в Object Storage
    • Перенос данных из Object Storage в Managed Service for PostgreSQL с использованием Data Transfer
    • Захват изменений PostgreSQL и поставка в YDS
    • Миграция данных из Managed Service for PostgreSQL в Managed Service for MySQL® с помощью Data Transfer
    • Миграция данных из Managed Service for PostgreSQL в Managed Service for OpenSearch с помощью Data Transfer
    • Решение проблем с сортировкой строк в PostgreSQL после обновления glibc
    • Использование секрета Yandex Lockbox в PySpark-задании для подключения к Yandex Managed Service for PostgreSQL
    • Настройка прав доступа к секрету, созданному Connection Manager, для пользователя Managed Service for PostgreSQL
    • Выполнение аналитических запросов в Managed Service for PostgreSQL с обработкой в Managed Service for ClickHouse®
    • Миграция БД из Greenplum® в ClickHouse®
    • Миграция БД из Greenplum® в PostgreSQL
    • Выгрузка данных Greenplum® в холодное хранилище Object Storage
    • Загрузка данных из Object Storage в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Копирование данных из Managed Service for OpenSearch в Yandex MPP Analytics for PostgreSQL с помощью Yandex Data Transfer
    • Создание внешней таблицы на базе таблицы из бакета Object Storage с помощью конфигурационного файла
    • Получение данных из внешних источников с помощью именованных запросов в Greenplum®
    • Миграция БД из стороннего кластера Valkey™ в Yandex Managed Service for Valkey™
    • Использование кластера Yandex Managed Service for Valkey™ в качестве хранилища сессий PHP
    • Распределенные блокировки для «1С:Предприятия» в кластере Yandex Managed Service for Valkey™
    • Загрузка данных из Object Storage в Managed Service for YDB с помощью Data Transfer
    • Загрузка данных из Managed Service for YDB в Object Storage с помощью Data Transfer
    • Обработка аудитных логов Audit Trails
    • Обработка логов Cloud Logging
    • Обработка потока изменений Debezium
    • Анализ данных с помощью Jupyter
    • Обработка файлов детализации в сервисе Yandex Cloud Billing
    • Ввод данных в системы хранения
    • Умная обработка логов
    • Передача данных в микросервисных архитектурах
    • Миграция данных в Object Storage с помощью Data Transfer
    • Миграция данных из стороннего кластера Greenplum® или PostgreSQL в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Миграция кластера Yandex StoreDoc
    • Миграция кластера MySQL®
    • Миграция на сторонний кластер MySQL®
    • Миграция кластера PostgreSQL
    • Создание реестра схем для поставки данных в формате Debezium CDC из Apache Kafka®
    • Выполнение аналитических запросов в Managed Service for PostgreSQL с обработкой в Managed Service for ClickHouse®
    • Автоматизация работы с помощью Yandex Managed Service for Apache Airflow™
    • Работа с таблицей в Object Storage из PySpark-задания
    • Интеграция Yandex Managed Service for Apache Spark™ и Apache Hive™ Metastore
    • Запуск PySpark-задания с помощью Yandex Managed Service for Apache Airflow™
    • Использование Yandex Object Storage в Yandex Managed Service for Apache Spark™
    • Интеграция Yandex Managed Service for Apache Spark™ и DataSphere
    • Использование секрета Yandex Lockbox в PySpark-задании для подключения к Yandex Managed Service for PostgreSQL

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Разверните HTTP-сервер блокировок
  • Настройте модуль в 1С:Предприятии
  • Проверьте работу блокировок
  • Удалите созданные ресурсы
  1. Построение Data Platform
  2. Распределенные блокировки для «1С:Предприятия» в кластере Yandex Managed Service for Valkey™

Распределенные блокировки для 1С:Предприятия в кластере Yandex Managed Service for Valkey™

Статья создана
Yandex Cloud
Обновлена 10 сентября 2026 г.
Открыть в Markdown
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Разверните HTTP-сервер блокировок
  • Настройте модуль в 1С:Предприятии
  • Проверьте работу блокировок
  • Удалите созданные ресурсы

Кластер Yandex Managed Service for Valkey™ можно использовать как хранилище распределенных блокировок для 1С:Предприятия — например, чтобы несколько пользователей не могли одновременно редактировать один и тот же элемент справочника.

Интеграция выполняется через промежуточный HTTP-сервер, развернутый на виртуальной машине Yandex Compute Cloud. Сервер предоставляет HTTP API для управления блокировками и использует кластер Valkey™ в качестве бэкенда. Модуль в 1С:Предприятии взаимодействует с API через внешнее соединение.

Примечание

Для работы модуля требуется 1С:Предприятие версии не ниже 8.3.

Чтобы настроить блокировки:

  1. Подготовьте инфраструктуру.
  2. Разверните HTTP-сервер блокировок.
  3. Настройте модуль в 1С:Предприятии.
  4. Проверьте работу блокировок.
  5. Удалите созданные ресурсы

Перед началом работыПеред началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

  • Кластер Yandex Managed Service for Valkey™: вычислительные ресурсы хостов и объем хранилища (тарифы Yandex Managed Service for Valkey™).
  • Виртуальная машина: использование вычислительных ресурсов, хранилища, публичного IP-адреса и операционной системы (тарифы Compute Cloud).

Подготовьте инфраструктуруПодготовьте инфраструктуру

Вручную
Terraform
  1. Создайте кластер Yandex Managed Service for Valkey™ со следующими характеристиками:

    • Версия Valkey — 9.1.

    • Имя — 1c-locks.

    • Включите опцию Использовать FQDN вместо IP-адресов.

    • Выберите режим персистентности данных На репликах.

      Важно

      Блокировки имеют ограниченный TTL. Чтобы избежать потери данных, используйте высокодоступную конфигурацию кластера.

    • Включите настройку Доступ из WebSQL.

  2. Создайте виртуальную машину для HTTP-сервера блокировок в той же сети, что и кластер.

  3. Настройте группы безопасности так, чтобы:

    • HTTP-сервер мог подключаться к кластеру.
    • Сервер 1С:Предприятия мог обращаться к HTTP-серверу по выбранному порту.
  1. Если у вас еще нет Terraform, установите его.

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

  3. Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его.

  4. Поместите конфигурационный файл в отдельную рабочую директорию и укажите значения параметров. Если данные для аутентификации не были добавлены в переменные окружения, укажите их в конфигурационном файле.

  5. Скачайте в ту же рабочую директорию файл конфигурации valkey-1c-http.tf.

    В этом файле описаны:

    • сеть;
    • подсеть;
    • группы безопасности;
    • кластер Yandex Managed Service for Valkey™;
    • виртуальная машина с публичным доступом из интернета и предустановленным HTTP-сервером вместе со всеми зависимостями.
  6. Укажите в файле valkey-1c-http.tf:

    • пароль для доступа к кластеру Yandex Managed Service for Valkey™;
    • порт для обращения к HTTP-серверу блокировок;
    • префикс ключей блокировки в Valkey™.
  7. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  8. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

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

После завершения операции создания ресурсов в терминале будут выведены параметры HTTP-сервера блокировок:

  • vm_public_ip — публичный IP-адрес сервера.
  • http_url — эндпоинт для подключения к серверу.

Разверните HTTP-сервер блокировокРазверните HTTP-сервер блокировок

HTTP-сервер блокировок — это тонкая прослойка между сервером 1С:Предприятия и кластером Yandex Managed Service for Valkey™. Он предоставляет эндпоинты с префиксом lock:

Эндпоинт Метод Назначение
lock/acquire POST Захватить блокировку
lock/release POST Освободить блокировку
lock/renew POST Продлить блокировку
lock/status POST Получить статус блокировки
lock/list GET Получить список блокировок

Логика работы с кластером:

  • Захват блокировки (lock/acquire) выполняется командой SET с аргументом NX и установкой времени жизни ключа (PX). Аргумент NX гарантирует, что блокировка захватывается, только если ключа еще нет, а TTL не дает удерживать блокировку бесконечно:

    SET <ключ> <токен> NX PX <ttl_в_миллисекундах>
    
  • Освобождение (lock/release) и продление (lock/renew) блокировки выполняются командой EVAL с вызовом Lua-скриптов. В рамках скриптов выполняются несколько последовательных операций в Valkey™:

    1. Получение данных блокировки по ключу.
    2. Сравнение токена блокировки и токена из запроса.
    3. Удаление ключа или продление срока блокировки.

    Вызов скрипта обеспечивает атомарность транзакции, т. е. гарантирует, что все операции выполнятся целиком или не выполнятся вовсе. Пример скрипта для освобождения блокировки:

    -- release: удалить ключ, только если токен совпадает
    local value = server.call('GET', KEYS[1])
    if not value then
      return 0
    end
    local ok, lock = pcall(cjson.decode, value)
    if not ok or lock['token'] ~= ARGV[1] then
      return 0
    end
    return server.call('DEL', KEYS[1])
    
  • Сервер возвращает HTTP-коды состояния и сообщения об ошибках (удалось ли захватить, освободить или продлить блокировку).

Чтобы развернуть сервер:

Вручную
Terraform
  1. Подключитесь к виртуальной машине по SSH.

  2. Установите Go версии 1.26.2 или выше.

  3. Клонируйте репозиторий:

    git clone https://git@git.sourcecraft.dev/valkey/webinar-260624-1c-example.git && \
    cd webinar-260624-1c-example/http-lock-valkey
    
  4. Создайте переменные окружения с конфигурацией сервера:

    export HTTP_ADDR=:<открытый_порт_сервера_для_запросов>
    export VALKEY_ADDR=<FQDN_хоста_Valkey™>:6379
    export VALKEY_USER=default
    export VALKEY_PASSWORD=<пароль_Valkey™>
    export DEFAULT_LOCK_TTL=<интервал_продления_блокировки_в_секундах>
    export LOCK_KEY_PREFIX=<префикс_ключа_блокировки>
    
  5. Запустите HTTP-сервер командой:

    go run .
    

В файле конфигурации Terraform указаны все необходимые команды для развертывания HTTP-сервера. После создания инфраструктуры сервер полностью готов к работе.

  1. При необходимости измените параметры сервера в файле конфигурации:

    • Интервал продления блокировки в параметре DEFAULT_LOCK_TTL локальной переменной cloud_init.
    • Префикс ключа блокировки в локальной переменной lock_key_prefix.
    • Порт сервера для запросов от кластера Valkey™ в локальной переменной http_port.
  2. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  3. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

После завершения операции изменения ресурсов в терминале будут выведены обновленные параметры HTTP-сервера блокировок:

  • vm_public_ip — публичный IP-адрес сервера.
  • http_url — эндпоинт для подключения к серверу.

Настройте модуль в 1С:ПредприятииНастройте модуль в 1С:Предприятии

В 1С:Предприятии используется модуль Блокировка каталога, который обращается к HTTP-серверу по внешнему соединению. Готовый код модуля содержится в контейнере с тестовой базой данных 1С:Предприятия в репозитории valkey/webinar-260624-1c-example.

Модуль выполняет следующие функции:

  • Отправка HTTP-запросов к эндпоинтам сервера (lock/acquire, lock/release, lock/status, lock/renew, lock/list) в зависимости от действия.
  • Формирование ключа блокировки из полного пути каталога (метаданных коллекции) и идентификатора элемента. Это гарантирует уникальность блокировки для конкретного элемента справочника.
  • В форме модуля настраиваются обработчики событий для справочников:
    • при открытии — попытка захватить блокировку;
    • при изменении и закрытии — продлить или освободить блокировку.
  • Чтобы не истек срок действия блокировки во время работы пользователя с формой, настраивается периодическое продление блокировки.
  • Для наглядности на форму выводится информация о блокировке: состояние (захвачена или свободна), оставшийся TTL и токен, по которому проверяется владение блокировкой.

Чтобы настроить модуль:

  1. Подключите базу данных из папки 1CExample репозитория и скопируйте общий модуль БлокировкиКаталогов в вашу конфигурацию 1С:Предприятия.

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

  3. В функции HTTPЗапрос() укажите адрес HTTP-сервера блокировок:

    Соединение = Новый HTTPСоединение("<публичный_IP_адрес_созданной_ВМ>", <порт_из_переменной_HTTP_ADDR>);
    
  4. Добавьте блокировку в нужную форму. Для этого:

    • Добавьте реквизиты формы для токена и статуса.
    • При открытии формы вызывайте ЗаблокироватьКаталог().
    • При закрытии формы вызывайте РазблокироватьКаталог().
    • Подключите периодическую отправку renew.
  5. Подключите обработчики событий формы к нужным справочникам. Пример для минимальной функциональности:

    ПриСозданииНаСервере:
        acquire
    
    ПриОткрытии:
        renew
    
    ПриЗакрытии:
        release
    
  6. Настройте ключ блокировки. По умолчанию ключ формируется как:

    "Справочник." + Ссылка.Метаданные().Имя + ":" + Ссылка.УникальныйИдентификатор()
    

    Для документов можно сделать аналогично:

    Документ.ЗаказКлиента:УникальныйИдентификатор()
    

    Если нужно использовать один модуль для разных типов объектов, обобщите функцию КлючБлокировки().

Важно

Настройки подключения модуля могут отличаться в зависимости от пользовательской реализации 1С-Предприятия.

Проверьте работу блокировокПроверьте работу блокировок

  1. Откройте 1С:Предприятие и перейдите в справочник, например Клиенты.

  2. Откройте на редактирование элемент, например Роман. На форме отобразится состояние блокировки — захвачена, а также TTL блокировки и токен.

  3. Понаблюдайте за TTL: он должен уменьшаться со временем (например, 41 → 31 секунда). По истечении интервала продления (по умолчанию 30 секунд) 1С:Предприятие автоматически продлевает блокировку.

  4. Убедитесь, что блокировка отражается в кластере:

    Консоль управления
    SQL
    1. Откройте Подключения Yandex WebSQL.
    2. Добавьте подключение к БД для созданного ранее сервера Valkey™. Укажите имя БД 0.
    3. Подключитесь к базе данных 0 и найдите строку с ключом блокировки.

    Примечание

    Из-за особенностей кодировки имя ключа в WebSQL может отображаться некорректно. Для проверки владения блокировкой ориентируйтесь на его наличие и значение (токен), а не на читаемость имени.

    Подключитесь к кластеру Yandex Managed Service for Valkey™ и выполните запрос:

    KEYS <префикс_ключа_блокировки>:*
    

    Valkey™ вернет строку с ключом блокировки.

Удалите созданные ресурсыУдалите созданные ресурсы

Чтобы снизить потребление ресурсов, которые вам не нужны, удалите их:

Вручную
С помощью Terraform
  1. Удалите кластер Yandex Managed Service for Valkey™.
  2. Удалите ВМ.
  1. В терминале перейдите в директорию с планом инфраструктуры.

    Важно

    Убедитесь, что в директории нет Terraform-манифестов с ресурсами, которые вы хотите сохранить. Terraform удаляет все ресурсы, которые были созданы с помощью манифестов в текущей директории.

  2. Удалите ресурсы:

    1. Выполните команду:

      terraform destroy
      
    2. Подтвердите удаление ресурсов и дождитесь завершения операции.

    Все ресурсы, которые были описаны в Terraform-манифестах, будут удалены.

Была ли статья полезна?

Предыдущая
Использование кластера Yandex Managed Service for Valkey™ в качестве хранилища сессий PHP
Следующая
Загрузка данных из Object Storage в Managed Service for YDB с помощью Data Transfer
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»