Эволюция 1С: Предприятие 8 (до версии 8.3)

Версия 1С: Предприятие 8.0 (2002 год)

Начиная с этой версии в Платформе 1С: Предприятие были сделаны первые шаги к «Клиент – Сервер 1С – СУБД» (трехзвенной архитектуре). До этого реализация всех алгоритмов работала только на стороне пользователя.

Связь клиента с сервером 1С: Предприятие была реализована через COM, т.е. происходило подключение к аналогично, как сейчас подключается одна база к другой через COM-объект. И вся логика общения была реализована на базе COM.

В этой версии все задачи обслуживал 1 рабочий процесс, а в случае каких-то проблем с соединением или рабочим процессом, все пользователи вылетали.

Курс 1С: Эксперт. Эволюция развития кластера серверов 1С
Эволюция развития кластера серверов 1С: Предприятие 8: Версия платформы 8.0 (2002 год).

Т.е. по сути в версии платформы 1С: Предприятие 8.0 не было кластера серверов, и даже не было речи про отказоустойчивость, масштабируемость и тем более балансировку нагрузки.

Был просто компьютер на OS Windows, обслуживал все один рабочий процесс, а о кросс-платформенности даже не шло речи, так как подключение было только через COM (технология Microsoft).

Версия 1С: Предприятие 8.1 (2005 год)

В этой версии поверх протокола TCP, были разработаны вызовы процедур. По всей свой логике он был максимально приближен к логике COM-соединения. Это было сделано для того, чтобы не переписывать весь код платформы, а можно было использовать все готовые процедуры, просто смеха передачи информация была реализована по-другому.

Эта реализация помогла сделать 1С: Предприятие кроссплатформенным бизнес-приложением (фреймворком).

Вместо одного процесса, который отвечал за все, процессы разделили на 3:

  1. ragent – это процесс агента 1С, он отвечает за активность остальных процессов. А так же он отвечает за список кластеров текущего сервера.
  2. rmngr – это менеджер кластера, который управляет функционостью кластера. Т.е. он отвечает за распределение различных сервисов и задач внутри самого кластера серверов, запускает рабочие процессы. Может быстро восстанавливаться ragent-ом, в случае сбоев и вылетов (аварийных завершений).
  3. rphost – это рабочий процесс. Может быть несколько рабочих процессов, на разных узлах кластера серверов 1С: Предприятие,  таким образом реализуется масштабируемость. Может быстро восстанавливаться rmng-ром, в случае сбоев и вылетов (аварийных завершений).
Курс 1С: Эксперт. Эволюция развития кластера серверов 1С. 8.1
Эволюция развития кластера серверов 1С: Предприятие 8. Версия платформы 8.1 (2005 год)

Именно rphost выполняет запросы к СУБД и выполняет все, что связано с кодом 1С. Если rphost падал, то клиенты отваливались, т.е. никакой отказоустойчивости не было. Так же не было и балансировки нагрузки.

Версия 1С: Предприятие 8.2 (2009 год)

В этой версии получился уже полноценный кластер серверов 1С: Предприятие.

Изначально перед разработчиками платформы 1С: Предприятие стояла задача реализовать работу клиентской части через браузер, а это в свою очередь требует отвязать текущее приложение от rphost, потому что соединение может быть нестабильным. Так появились сеанс и подключение, а сами сеансовые данные надо было хранить уже не на клиенте, а на стороне кластера. Потому стало необходимо разделять общий пул задач менеджера кластера на категории, т.е. появилось такое понятие, как сервис.

Сервисов сделали несколько под каждый вид задач:

  • Сеансовые данные
  • Блокировки
  • Фоновые задания
  • Полнотекстовый поиск
  • Лицензирование
  • и т.д.
Курсы 1С: Эксперт. Эволюция развития кластера серверов 1С 8. Версия платформы 8.2 (2009 год)
Эволюция развития кластера серверов 1С: Предприятие 8. Версия платформы 8.2 (2009 год)

Так же добавили уже именно кластерные возможности:

  1. Балансировка нагрузки. Статистика производительности процессов и серверов, является основанием распределения нагрузки. Производительность оценивается микротестами, которые задействуют процессор, память, жесткий диск и возвращают некую оценку от 0 до 100 (усредняется за последние 10 мин.). Чем оценка выше, тем сервер более производительный.
  2. Отказоустойчивость. Т.е. если падает rphost или прерывается соединение, то клиент не вылетает, а устанавливает новое соединение, как уже было описано в 3-х звеновой клиент-серверной архитектуре.
  3. Резервирование серверов. Реализовали возможность создавать резервный кластер серверов 1С: Предприятие, который в случае чего подхватывал работу основного кластера.

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

Данная тема подробнее рассматривается в пакете видео-курса «Секреты 1С: Эксперта» Шаг 1. Занятие 01-01. Знакомство с 1С.

Курс 1С: Эксперт. Эволюция развития 1С: Предприятия 8 до 8.3. У 1С все еще впереди.
1С не перестает развивать и расширять свой функционал. В следующей статье поговорим про 8.3
КОНСТАНТИН ЕФИМОВ
Комментарии и вопросы