Переход 1С:Шины на новый релиз без остановки обменов
Содержание
Обновить 1С:Шину можно двумя путями: поставить новый релиз поверх текущего на том же сервере или развернуть его рядом, на отдельной машине, и переключить на неё обмены. Первый путь быстрее и подходит для тестовых и небольших контуров. Второй дольше, зато откат сводится к переключению адреса обратно.
В обоих случаях порядок один: резервная копия данных шины → установка нового дистрибутива → проверка и перепубликация приложений интеграции → контрольный прогон обменов. Пропуск любого шага ломает обмен тихо: базы 1С продолжают работать, а сообщения копятся в очередях.
Зачем обновлять 1С:Шину и чем грозит отказ от обновлений
1С:Шина — отдельный продукт на технологии 1С:Предприятие.Элемент. Она живёт своей жизнью: релизы выходят независимо от платформы 8.3 и от типовых конфигураций. Поэтому «обновили платформу — значит, всё актуально» здесь не работает .
Что даёт новый релиз:
- 🛠 исправления ошибок доставки и обработки сообщений;
- 🔒 закрытие уязвимостей веб-консоли и сетевой части;
- 🔗 совместимость с новыми версиями платформы 8.3 и сервисами интеграции в конфигурациях;
- ⚙️ новые возможности среды разработки процессов интеграции.
Чем грозит долгий отказ от обновлений:
- новые релизы конфигураций и платформы могут перестать нормально подключаться к старой шине;
- проект интеграции, собранный в новой среде разработки, может не опубликоваться на старом сервере;
- прыжок через много релизов сразу сложнее одного очередного обновления: больше изменений, больше точек отказа.
Если шина работает стабильно и в описании нового релиза нет исправлений, важных для ваших сценариев, обновление можно отложить до планового окна. Гнаться за каждым релизом в тот же день не нужно.
Подготовка к обновлению шины: что проверить заранее
Самый частый источник проблем — не сама установка, а то, что не проверили до неё. Подготовку удобно разбить на четыре блока.
Совместимость версий
Откройте описание нового релиза на портале обновлений 1С. Там указаны:
- С какой версии допускается прямое обновление (если ваша версия старше указанной, придётся идти через промежуточный релиз).
- Минимальный номер платформы 1С:Предприятия для баз, которые подключаются через сервисы интеграции.
- Поддерживаемые операционные системы и требования к окружению.
- Изменения, которые требуют пересборки или перепубликации проектов интеграции.
Сравните это с фактом: какая версия шины стоит сейчас (видно в веб-консоли и в установщике) и какая платформа стоит у каждой подключённой базы.
Инвентаризация обменов
Составьте простой список: какие информационные системы подключены к шине, какие каналы они используют, какие процессы интеграции опубликованы. Он понадобится при проверке после обновления.
| Что записать | Зачем |
|---|---|
| Приложения и процессы интеграции | Сверить, что после обновления всё на месте |
| Информационные системы и их каналы | Проверить подключение каждой базы |
| Текущее число сообщений в очередях | Понять, всё ли доставлено перед остановкой |
| Учётные записи и права в консоли | Убедиться, что доступ не потерялся |
| Версия шины и путь установки | Нужны для отката |
Исходники проектов интеграции
Убедитесь, что у вас есть исходные проекты интеграции из среды разработки, а не только опубликованные приложения на сервере. Если проект делал подрядчик и исходников нет, восстановить логику после неудачного обновления будет трудно.
Окно обслуживания
Обновление требует остановки сервиса шины. На это время обмены между базами встают. Согласуйте окно с пользователями обменов: выгрузки в маркетплейсы, передачу заказов, синхронизацию справочников.
Резервная копия перед обновлением 1С:Шины
Без резервной копии каталога данных шины к обновлению не приступайте. Откат «установкой старой версии» без данных вернёт программу, но не вернёт настройки, учётные записи и опубликованные приложения.
Что сохранить:
- Каталог данных шины. Путь задаётся при установке и отличается у разных инсталляций. Его можно найти в параметрах службы (Windows) или в unit-файле systemd (Linux).
- Конфигурационные файлы сервиса — настройки портов, памяти, путей.
- Дистрибутив текущего релиза — именно той версии, что стоит сейчас.
- Исходники проектов интеграции — выгрузка из среды разработки.
Порядок:
- Дождитесь, пока очереди опустеют, или зафиксируйте их состояние.
- Остановите службу шины.
- Скопируйте каталог данных целиком, с сохранением прав доступа.
- Проверьте размер и содержимое копии, а не только факт её создания.
Для Linux удобно архивировать каталог одной командой (путь подставьте свой):
sudo systemctl stop <имя-службы-шины>
sudo tar -czpf /backup/1c-bus-data-$(date +%F).tar.gz /путь/к/каталогу/данных
Имя службы посмотрите командой systemctl list-units --type=service, отфильтровав по слову из названия продукта.
Остановка службы обрывает все текущие обмены через шину. Базы 1С при этом работают, но сообщения не уходят и не приходят до запуска службы. Делайте это в согласованное окно.
На виртуальной машине дополнительно сделайте снимок (snapshot). Он не заменяет копию данных, но даёт самый быстрый откат.
Способы обновления 1С:Шины: на месте или на новом сервере
| Способ | Когда выбирать | Риски |
|---|---|---|
| Обновление на месте через установщик | Тестовый контур, один сервер, небольшое число обменов | Откат — только из резервной копии, простой на время отката |
| Новый сервер рядом и переключение | Продуктивный контур с критичными обменами | Нужно перенастроить адрес шины во всех базах; дольше подготовка |
| Сначала тестовая копия, потом продуктив | Прыжок через несколько релизов, сложные процессы интеграции | Требует отдельного стенда и времени на прогон |
Обновление на месте
- Запустите установщик из дистрибутива нового релиза от имени администратора (Windows) или пользователя с правами
sudo(Linux). - Выберите компонент сервера 1С:Шины и новую версию. Установщик продуктов на технологии Элемент показывает уже установленные версии — проверьте, какая будет заменена.
- Укажите тот же каталог данных, что и раньше. Если установщик предлагает новый путь по умолчанию — не соглашайтесь, иначе шина стартует «пустой».
- Дождитесь окончания установки и запустите службу.
- Откройте веб-консоль и проверьте номер версии.
Если шина стартовала, а в консоли нет ни одного приложения, первым делом проверьте путь к каталогу данных. Почти всегда это он, а не «пропавшие» данные.
Обновление через новый сервер
- Разверните новую машину с той же ОС и нужными ресурсами.
- Установите на неё новый релиз 1С:Шины.
- Опубликуйте приложения интеграции из исходных проектов, собранных в среде разработки соответствующей версии.
- Создайте учётные записи и права так же, как на старом сервере.
- Подключите к новой шине тестовую копию одной базы и прогоните обмен.
- В окно обслуживания переключите адрес шины во всех продуктивных базах (или поменяйте DNS-запись, если базы обращаются к шине по имени).
Второй вариант с DNS удобнее всего: базы не трогают, а откат — смена записи обратно.
Обновление среды разработки
Вместе с сервером обновите среду разработки проектов интеграции до той же версии. Проект, собранный в старой среде, может публиковаться на новом сервере, но обратное не гарантировано. Держите версии сервера и среды одинаковыми.
Обновление шины в распределённых и облачных контурах
Если шина обслуживает несколько площадок или стоит в облаке, к общей схеме добавляются свои нюансы.
Несколько серверов шины. Обновляйте их по очереди, начиная с наименее нагруженного или тестового. Не оставляйте контур надолго в смешанном состоянии: разные версии на связанных узлах — лишняя переменная при поиске ошибок.
Базы в разных офисах. Перед окном убедитесь, что из каждого офиса доступен адрес и порт шины. Если меняется сервер, обновите правила межсетевого экрана заранее, а не в момент переключения.
Облако (IaaS). Пользуйтесь снимками дисков — это самый быстрый способ отката. Проверьте, что группы безопасности облака пропускают трафик к новому серверу.
Контейнеры и автоматизация. Если шину разворачивают скриптами, обновите в них номер версии и путь к дистрибутиву. Ручное обновление «поверх» автоматизированной установки потом сломает следующий автоматический прогон.
Базы 1С в облачном сервисе провайдера. Здесь обмены настраивает провайдер. Уточните у него, какую версию шины он поддерживает и нужно ли менять адрес подключения.
Проверка работы 1С:Шины после обновления
Запуск службы ещё не значит, что обмены работают. Проверку делайте по списку, составленному на этапе подготовки.
В веб-консоли шины
- Номер версии совпадает с установленной.
- Все приложения и процессы интеграции на месте и запущены.
- Информационные системы присутствуют, их каналы активны.
- Учётные записи входят под своими правами.
- В журнале сервера нет ошибок при старте.
В базах 1С
- В каждой подключённой базе выполните штатное действие, которое отправляет сообщение через шину: проведите тестовый документ или запустите обмен вручную.
- Убедитесь, что сообщение дошло до получателя: документ появился во второй базе, статус обмена сменился.
- Проверьте обратное направление, если обмен двусторонний.
Тестовый документ в рабочей базе создаёт реальные движения и уходит в другие системы. После проверки пометьте его на удаление в обеих базах или проверяйте на справочнике, изменение которого безопасно.
Под нагрузкой
Первые часы после обновления следите за очередями. Если сообщения накапливаются и не уходят, а в журнале шины повторяются однотипные ошибки — это сигнал к разбору или откату, пока очередь не выросла.
Откат обновления 1С:Шины на прежнюю версию
Откатываться стоит, если обмены не восстановились за отведённое окно, а причина не найдена. Лучше вернуть рабочую версию и разбираться на тестовом стенде, чем держать бизнес без обменов.
Откат при обновлении на месте
- Остановите службу шины.
- Удалите новую версию сервера через установщик.
- Установите прежний релиз из сохранённого дистрибутива.
- Верните каталог данных из резервной копии, сохранив права доступа:
sudo systemctl stop <имя-службы-шины>
sudo mv /путь/к/каталогу/данных /путь/к/каталогу/данных.failed
sudo tar -xzpf /backup/1c-bus-data-ГГГГ-ММ-ДД.tar.gz -C /
sudo systemctl start <имя-службы-шины>
- Проверьте версию в консоли и прогоните контрольный обмен.
Каталог с данными после неудачного обновления не удаляйте сразу — переименуйте. Он пригодится, чтобы разобрать, что пошло не так.
Данные, которые шина приняла уже после обновления, при восстановлении из копии пропадут. Если обмены успели поработать, сверьте в базах, какие документы не дошли до получателя, и отправьте их повторно.
Откат при переключении на новый сервер
Верните старый адрес шины в базах или DNS-запись на старый сервер. Старая шина всё это время стоит нетронутой, поэтому откат занимает минуты. Именно ради этого второй способ и выбирают для продуктивных контуров.
Откат со снимка виртуальной машины
Самый быстрый вариант, но он возвращает всю машину целиком. Если на ней крутится что-то ещё, учтите, что откатится и оно.