Переход 1С:Шины на новый релиз без остановки обменов

· 9 мин

Содержание

Обновить 1С:Шину можно двумя путями: поставить новый релиз поверх текущего на том же сервере или развернуть его рядом, на отдельной машине, и переключить на неё обмены. Первый путь быстрее и подходит для тестовых и небольших контуров. Второй дольше, зато откат сводится к переключению адреса обратно.

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

Зачем обновлять 1С:Шину и чем грозит отказ от обновлений

1С:Шина — отдельный продукт на технологии 1С:Предприятие.Элемент. Она живёт своей жизнью: релизы выходят независимо от платформы 8.3 и от типовых конфигураций. Поэтому «обновили платформу — значит, всё актуально» здесь не работает .

Что даёт новый релиз:

  • 🛠 исправления ошибок доставки и обработки сообщений;
  • 🔒 закрытие уязвимостей веб-консоли и сетевой части;
  • 🔗 совместимость с новыми версиями платформы 8.3 и сервисами интеграции в конфигурациях;
  • ⚙️ новые возможности среды разработки процессов интеграции.

Чем грозит долгий отказ от обновлений:

  • новые релизы конфигураций и платформы могут перестать нормально подключаться к старой шине;
  • проект интеграции, собранный в новой среде разработки, может не опубликоваться на старом сервере;
  • прыжок через много релизов сразу сложнее одного очередного обновления: больше изменений, больше точек отказа.

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

Подготовка к обновлению шины: что проверить заранее

Самый частый источник проблем — не сама установка, а то, что не проверили до неё. Подготовку удобно разбить на четыре блока.

Совместимость версий

Откройте описание нового релиза на портале обновлений 1С. Там указаны:

  1. С какой версии допускается прямое обновление (если ваша версия старше указанной, придётся идти через промежуточный релиз).
  2. Минимальный номер платформы 1С:Предприятия для баз, которые подключаются через сервисы интеграции.
  3. Поддерживаемые операционные системы и требования к окружению.
  4. Изменения, которые требуют пересборки или перепубликации проектов интеграции.

Сравните это с фактом: какая версия шины стоит сейчас (видно в веб-консоли и в установщике) и какая платформа стоит у каждой подключённой базы.

Инвентаризация обменов

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

Что записатьЗачем
Приложения и процессы интеграцииСверить, что после обновления всё на месте
Информационные системы и их каналыПроверить подключение каждой базы
Текущее число сообщений в очередяхПонять, всё ли доставлено перед остановкой
Учётные записи и права в консолиУбедиться, что доступ не потерялся
Версия шины и путь установкиНужны для отката

Исходники проектов интеграции

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

Окно обслуживания

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

Готовность к обновлению 1С:Шины
Выполнено: 0 / 7

Резервная копия перед обновлением 1С:Шины

Без резервной копии каталога данных шины к обновлению не приступайте. Откат «установкой старой версии» без данных вернёт программу, но не вернёт настройки, учётные записи и опубликованные приложения.

Что сохранить:

  1. Каталог данных шины. Путь задаётся при установке и отличается у разных инсталляций. Его можно найти в параметрах службы (Windows) или в unit-файле systemd (Linux).
  2. Конфигурационные файлы сервиса — настройки портов, памяти, путей.
  3. Дистрибутив текущего релиза — именно той версии, что стоит сейчас.
  4. Исходники проектов интеграции — выгрузка из среды разработки.

Порядок:

  1. Дождитесь, пока очереди опустеют, или зафиксируйте их состояние.
  2. Остановите службу шины.
  3. Скопируйте каталог данных целиком, с сохранением прав доступа.
  4. Проверьте размер и содержимое копии, а не только факт её создания.

Для Linux удобно архивировать каталог одной командой (путь подставьте свой):

sudo systemctl stop <имя-службы-шины>
sudo tar -czpf /backup/1c-bus-data-$(date +%F).tar.gz /путь/к/каталогу/данных

Имя службы посмотрите командой systemctl list-units --type=service, отфильтровав по слову из названия продукта.

Остановка службы обрывает все текущие обмены через шину. Базы 1С при этом работают, но сообщения не уходят и не приходят до запуска службы. Делайте это в согласованное окно.

На виртуальной машине дополнительно сделайте снимок (snapshot). Он не заменяет копию данных, но даёт самый быстрый откат.

Способы обновления 1С:Шины: на месте или на новом сервере

СпособКогда выбиратьРиски
Обновление на месте через установщикТестовый контур, один сервер, небольшое число обменовОткат — только из резервной копии, простой на время отката
Новый сервер рядом и переключениеПродуктивный контур с критичными обменамиНужно перенастроить адрес шины во всех базах; дольше подготовка
Сначала тестовая копия, потом продуктивПрыжок через несколько релизов, сложные процессы интеграцииТребует отдельного стенда и времени на прогон

Обновление на месте

  1. Запустите установщик из дистрибутива нового релиза от имени администратора (Windows) или пользователя с правами sudo (Linux).
  2. Выберите компонент сервера 1С:Шины и новую версию. Установщик продуктов на технологии Элемент показывает уже установленные версии — проверьте, какая будет заменена.
  3. Укажите тот же каталог данных, что и раньше. Если установщик предлагает новый путь по умолчанию — не соглашайтесь, иначе шина стартует «пустой».
  4. Дождитесь окончания установки и запустите службу.
  5. Откройте веб-консоль и проверьте номер версии.

Если шина стартовала, а в консоли нет ни одного приложения, первым делом проверьте путь к каталогу данных. Почти всегда это он, а не «пропавшие» данные.

Обновление через новый сервер

  1. Разверните новую машину с той же ОС и нужными ресурсами.
  2. Установите на неё новый релиз 1С:Шины.
  3. Опубликуйте приложения интеграции из исходных проектов, собранных в среде разработки соответствующей версии.
  4. Создайте учётные записи и права так же, как на старом сервере.
  5. Подключите к новой шине тестовую копию одной базы и прогоните обмен.
  6. В окно обслуживания переключите адрес шины во всех продуктивных базах (или поменяйте DNS-запись, если базы обращаются к шине по имени).

Второй вариант с DNS удобнее всего: базы не трогают, а откат — смена записи обратно.

Обновление среды разработки

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

Обновление шины в распределённых и облачных контурах

Если шина обслуживает несколько площадок или стоит в облаке, к общей схеме добавляются свои нюансы.

Несколько серверов шины. Обновляйте их по очереди, начиная с наименее нагруженного или тестового. Не оставляйте контур надолго в смешанном состоянии: разные версии на связанных узлах — лишняя переменная при поиске ошибок.

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

Облако (IaaS). Пользуйтесь снимками дисков — это самый быстрый способ отката. Проверьте, что группы безопасности облака пропускают трафик к новому серверу.

Контейнеры и автоматизация. Если шину разворачивают скриптами, обновите в них номер версии и путь к дистрибутиву. Ручное обновление «поверх» автоматизированной установки потом сломает следующий автоматический прогон.

Базы 1С в облачном сервисе провайдера. Здесь обмены настраивает провайдер. Уточните у него, какую версию шины он поддерживает и нужно ли менять адрес подключения.

Проверка работы 1С:Шины после обновления

Запуск службы ещё не значит, что обмены работают. Проверку делайте по списку, составленному на этапе подготовки.

В веб-консоли шины

  1. Номер версии совпадает с установленной.
  2. Все приложения и процессы интеграции на месте и запущены.
  3. Информационные системы присутствуют, их каналы активны.
  4. Учётные записи входят под своими правами.
  5. В журнале сервера нет ошибок при старте.

В базах 1С

  1. В каждой подключённой базе выполните штатное действие, которое отправляет сообщение через шину: проведите тестовый документ или запустите обмен вручную.
  2. Убедитесь, что сообщение дошло до получателя: документ появился во второй базе, статус обмена сменился.
  3. Проверьте обратное направление, если обмен двусторонний.

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

Под нагрузкой

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

Диагностика: выберите симптом

Откат обновления 1С:Шины на прежнюю версию

Откатываться стоит, если обмены не восстановились за отведённое окно, а причина не найдена. Лучше вернуть рабочую версию и разбираться на тестовом стенде, чем держать бизнес без обменов.

Откат при обновлении на месте

  1. Остановите службу шины.
  2. Удалите новую версию сервера через установщик.
  3. Установите прежний релиз из сохранённого дистрибутива.
  4. Верните каталог данных из резервной копии, сохранив права доступа:
sudo systemctl stop <имя-службы-шины>
sudo mv /путь/к/каталогу/данных /путь/к/каталогу/данных.failed
sudo tar -xzpf /backup/1c-bus-data-ГГГГ-ММ-ДД.tar.gz -C /
sudo systemctl start <имя-службы-шины>
  1. Проверьте версию в консоли и прогоните контрольный обмен.

Каталог с данными после неудачного обновления не удаляйте сразу — переименуйте. Он пригодится, чтобы разобрать, что пошло не так.

Данные, которые шина приняла уже после обновления, при восстановлении из копии пропадут. Если обмены успели поработать, сверьте в базах, какие документы не дошли до получателя, и отправьте их повторно.

Откат при переключении на новый сервер

Верните старый адрес шины в базах или DNS-запись на старый сервер. Старая шина всё это время стоит нетронутой, поэтому откат занимает минуты. Именно ради этого второй способ и выбирают для продуктивных контуров.

Откат со снимка виртуальной машины

Самый быстрый вариант, но он возвращает всю машину целиком. Если на ней крутится что-то ещё, учтите, что откатится и оно.

Частые вопросы об обновлении 1С:Шины

Нужно ли обновлять платформу 1С:Предприятия вместе с шиной?
Только если новый релиз шины требует более свежей платформы для сервисов интеграции. Требование указано в описании релиза. Сама шина работает отдельно от платформы 8.3.
Можно ли обновить шину через несколько релизов сразу?
Можно, если описание нового релиза допускает прямой переход с вашей версии. Если нет — обновляйтесь через промежуточный релиз и проверяйте работу после каждого шага.
Сколько длится обновление?
Сама установка занимает минуты. Основное время уходит на резервную копию, проверку обменов и перепубликацию приложений. Закладывайте окно с запасом на откат.
Нужно ли перенастраивать базы 1С после обновления шины на том же сервере?
Нет, если адрес, порт и учётные записи не менялись. Перенастройка нужна при переезде шины на другой сервер без смены DNS-имени.
Что делать, если исходников проекта интеграции нет?
До обновления запросите их у разработчика или подрядчика. Без исходников вы не сможете пересобрать проект в новой среде, если релиз этого потребует.