Перейти к содержимому

1.21 Если рабочие серверы кластера 1С:Предприятие работают с использованием разных операционных систем

Telegram → Просто о платформе 1С

❓ 1.21 Если рабочие серверы кластера 1С:Предприятие работают с использованием разных операционных систем.

Клиент-серверная архитектура 1С:Предприятия

Заголовок раздела «Клиент-серверная архитектура 1С:Предприятия»

В вопросе 1.16 см. Основные клиентские приложения 1С мы уже касались клиент-серверной архитектуры.
Теперь разберём её немного глубже — с точки зрения кластера серверов.

В клиент-серверном варианте работы система обычно строится как 3-уровневая архитектура:

┌──────────────────────────────┐
│ Клиентское приложение │
│ толстый / тонкий / веб │
└──────────────────────────────┘
┌──────────────────────────────┐
│ Сервер приложений 1С │
└──────────────────────────────┘
┌──────────────────────────────┐
│ СУБД │
│ PostgreSQL / MS SQL / Oracle │
└──────────────────────────────┘

Важно различать два понятия:

  • сервер 1С — это сервер приложений 1С:Предприятия;
  • сервер СУБД — это отдельный сервер базы данных.

Когда в документации говорится о кластере серверов 1С, речь идёт именно о сервере приложений, а не о СУБД.


Сервер приложений 1С реализован набором процессов.
Каждый процесс выполняет свою роль в работе кластера.

  • Агент сервера (ragent)

    • В диспетчере задач:
      Агент сервера 1С:Предприятия 8.3

    • Типовой порт: 1540

    • Точка входа в рабочий сервер

  • Менеджер кластера (rmngr)

    • Типовой порт: 1541

    • Управляет кластером

    • Распределяет нагрузку

    • Назначает рабочие процессы

  • Рабочий процесс (rphost)

    • Диапазон портов: 1560–1591(по умолчанию)

    • Именно здесь:

      • выполняется серверный код 1С;
      • происходит взаимодействие с СУБД.

Связь процессов


Рабочий сервер — это компьютер, на котором выполняется агент сервера (ragent)

  • ragentобязательно
  • rmngrобязательно
  • rphostможет отсутствовать

Кластер серверов 1С — это:

  • логическое понятие

  • объединяет один или несколько рабочих серверов

  • используется для:

    • масштабирования
    • отказоустойчивости
    • балансировки нагрузки

📌 Кластер ≠ сервер
📌 Кластер может состоять даже из одного рабочего сервера


Агент сервера (ragent) отвечает за:

  • запуск и контроль процессов сервера 1С
  • регистрацию рабочего сервера в кластере
  • взаимодействие с менеджером кластера

Без ragent рабочий сервер не существует для кластера.


Как клиент взаимодействует с сервером 1С (упрощённо)

Заголовок раздела «Как клиент взаимодействует с сервером 1С (упрощённо)»
  1. Клиентское приложение отправляет запрос менеджеру кластера (rmngr)

  2. rmngr:

    • анализирует нагрузку
    • выбирает подходящий rphost
    • возвращает клиенту его адрес
  3. Клиент отправляет запрос непосредственно в rphost

  4. rphost:

    • выполняет серверный код 1С
    • при необходимости обращается к СУБД
  5. Результат возвращается клиенту

📌 Важно:

  • rmngr не выполняет код
  • rmngr не работает с СУБД
  • Вся реальная работа происходит в rphost

  • Сервер 1С ≠ СУБД

  • ragent — точка входа рабочего сервера

  • rmngr — диспетчер и координатор

  • rphostрабочий процесс, который:

    • выполняет серверный код
    • взаимодействует с базой данных
  • Кластер — логическая надстройка над рабочими серверами


Сервер кластера 1С:Предприятия: поддерживаемые ОС

Заголовок раздела «Сервер кластера 1С:Предприятия: поддерживаемые ОС»

Кластер серверов «1С:Предприятия» может быть развернут на следующих операционных системах:

  • Windows
  • Linux

На практике выбор ОС влияет не только на администрирование, но и на доступные возможности платформы.


При использовании Linux есть ряд принципиальных ограничений, которые важно учитывать на этапе архитектуры.

  • Рабочий процесс кластера серверов под Linux не может взаимодействовать с Microsoft SQL Server.

Это важно учитывать, если информационная база работает на Microsoft SQL Server.


  • Рабочий процесс кластера под Linux не может работать с COM-объектами.

  • Серверные модули, содержащие код работы с COM:

    • могут быть скомпилированы
    • не могут быть выполнены — при выполнении будет ошибка времени выполнения

👉 Частый подводный камень при переносе решений с Windows на Linux: Excel, Word, внешние компоненты и другие сценарии, завязанные на COM.