Создание высокодоступной фермы рабочих серверов OneScript в ОС Centos 7

Публикация № 1057169

Разработка - Языки и среды - OneScript

В статье описана методика создания высокодоступной фермы рабочих серверов OneScript, для конфигурации АИТП.

Введение

В корпоративной среде, обеспечение высокой доступности приложений, а также их масштабирование для распределения нагрузки, играют важную роль. Поэтому, в настоящей статье, на примере развертывания рабочих серверов OneScript для конфигурации АИТП (проект на GitHub), рассмотрено создание кластера высокой доступности для web-приложения на основе http-сервисов OneScript.

Поскольку приложения на основе http-сервисов OneScript являются web-приложениями, для обеспечения их высокой доступности используется технология распределения (балансировки) сетевой нагрузки (NLB). В качестве основы, для построения кластера NLB выбрана технология Linux Virtual Server (LVS). С документацией по установке и настройке LVS для RHEL, которая также подойдет и для CentOS, можно ознакомиться, перейдя по этой ссылке.

Особенности архитектуры

Базовая конфигурация LVS состоит из двух уровней (см. рис. 1).

Рисунок 1. Базовая конфигурация LVS.

На первом уровне, находятся два LVS маршрутизатора. Они имеют по два сетевых интерфейса и перенаправляют (балансируют) входящий траффик на сервера приложений (real servers), которые находятся “за” маршрутизаторами. Сервера приложений обрабатывают поступивший траффик и отправляют ответ обратно, на маршрутизатор.

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

Для уменьшения траффика через маршрутизаторы можно использовать технологию Direct Routing (см. рис 2.), где сервера приложений отправляют траффик напрямую получателю, минуя маршрутизаторы.

Рисунок 2. Схема работы Direct Routing.

Подготовка лабораторной среды

Для тестового развертывания нам понадобится лабораторная среда, аналогичная среде, описанной ранее. В нашем случае она была дополнена еще одним рабочим сервером, а также двумя виртуальными машинами – маршрутизаторами см. рис. 3.

Рисунок 3. Лабораторная среда.

 

В качестве сертификата, для размещения на рабочих серверах использовался wildcard сертификат - *.itpa.cf.

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

Также предполагается, что ноды кластера рабочих серверов, а также маршрутизаторы настроены в соответствии с этой публикацией, (маршрутизаторы до пункта “Подготовка среды для web-приложения”).

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

Настройка рабочих серверов

Настройка firewall

Разрешим проверку доступности web-сервера с маршрутизаторов. Для этого, добавим ip адреса маршрутизаторов в зону work:

 

Сохраним изменения:

 

Создание виртуального интерфейса

Для исключения отправки неправильного MAC-адреса на клиентский компьютер, создадим интерфейс кластера, как loopback интерфейс. Для этого, в папке /etc/sysconfig/network-scripts, создадим файл ifcfg-lo:0, примерно следующего содержания (см. рис. 4):

Рисунок4. Настройки виртуального интерфейса.

 

Дополнительные сетевые настройки

Для исключения проблемы неправильного MAC-адреса в режиме direct routing и добавления возможности коммуникации с виртуальным интерфейсом, добавим в файл /etc/sysctl.conf нижеследующие ключи:

 

Настройка маршрутизаторов

Установка компонентов

Для создания кластера нам понадобится компонент для балансировки нагрузки – keepalived, а также компонент, обеспечивающий работу с виртуальным адресом кластера, а также балансировку на транспортном уровне – ipvsadm.

Устанавливаем необходимые компоненты:

 

Разрешаем автоматический старт сервисов:

 

Настройка firewall

Как и в предыдущей статье, будем использовать зону work – для коммуникаций с серверами приложений 1С:Предприятие, internal – для коммуникаций с компьютерами администраторов.

Для коммуникаций между роутерами используем зону home.

Далее предполагается, что базовые настройки firewall произведены в соответствии с вышекуазанной публикацией.

Настраиваем зону home:

 

Сохраняем изменения:

 

Настройка кластера

Для конфигурирования кластера, отредактируем файл /etc/keepalived/keepalived.conf

В нашем случае, ip кластера – 172.16.210.46, ip адреса нод кластера: 172.16.210.42 и 172.16.210.45. В качестве алгоритма балансировки для тестов выберем rr (round robin). В этом слкучае, каждый последующий запрос будет отправляться на ноду, отличную от ноды, на которой выполнялся последний запрос. В производственной среде имеет смысл использовать алгоритм lc (least connections), при котором запрос отправляется на ноду с наименьшим количеством соединений.

Содержимое конфигурационного файла для активного роутера (router1) и пассивного (router2), представлены ниже:

 
 

Дополнительные настройки сети

Для исключения проблемы неправильного MAC-адреса в режиме direct routing и добавления возможности коммуникации с виртуальным интерфейсом кластера, добавим в файл /etc/sysctl.conf нижеследующие ключи:

 

Тестирование функционала

Рестартуем рабочие сервера и маршрутизаторы.

Обратимся к кластеру из браузера. Если все настроено правильно, мы увидим примерно следующую картину (см. рис. 5).

Рисунок 5. Результат тестирования из браузера.

 

Запустим конфигурацию АИТП.

Изменим url сервиса для выполнения скриптов на url кластера. В нашем случае – это https://cluster.itpa.cf.

Введем нижеследующий код:

 

Выполним его несколько раз, через определенный промежуток времени (см. рис. 6.) и просмотрим результаты. Как можно увидеть, наш код выполняется на разных нодах кластера.

Рисунок 6. Результат тестирования из 1С:Предприятие.

 

Заключение

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

Настоящая методика также может быть использована для развертывания любых приложений на основе http-сервисов OneScript или сервисов web-доступа к 1С:Предприятие, при соответствующей настройке нод кластера.

Надеюсь, что настоящая публикация поможет Вам в использовании конфигурации АИТП, http-сервисов OneScript или других web-приложений, в корпоративной среде.

Специальные предложения

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

Swagger для 1С.

Статья Системный администратор Программист Нет файла Бесплатно (free) OneScript WEB

Решение для формирования Swagger спецификаций, описывающих HTTP сервисы конфигураций 1С.

21.10.2019    6712    botokash    27       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Автоматическое сравнение-объединение баз данных с мини-конфигурацией

Статья Программист Компонента, плагин (dll, vbs,..) v8 Windows Бесплатно (free) OneScript

Представляю вашему вниманию скрипт на OneScript для автоматического сравнения-объединения по правилам ("мержевания") конфигураций нескольких баз с мини-конфигурацией.

14.10.2019    1742    artkor    2       

АИТП. Управляем множественными версиями платформы на серверах, под управлением ОС Linux

Статья Системный администратор Конфигурация (md, cf) v8 Linux Абонемент ($m) Администрирование данных 1С

В статье рассмотрен демонстрационный пример использования конфигурации АИТП, для автоматизации управления множественными версиями платформы 1С:Предприятие на серверах, под управлением ОС Linux.

1 стартмани

16.06.2019    5502    blackhole321    8       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

АИТП. Управляем информационными базами

Статья Системный администратор Программист Нет файла v8 Абонемент ($m) Администрирование данных 1С

В статье, на демонстрационном примере, рассматривается использование конфигурации АИТП для автоматизации управления информационными базами 1С:Предприятие.

1 стартмани

29.05.2019    3185    3    blackhole321    0       

АИТП. Подсистема взаимодействия с рабочими серверами OneScript

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) OneScript

В статье описан механизм взаимодействия конфигурации АИТП с рабочими серверами OneScript.

22.05.2019    3977    blackhole321    33       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

1Script.Web. Интернет-приложения на языке 1С

Статья Программист Нет файла v8 Бесплатно (free) WEB OneScript

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    15538    Evil Beaver    32       

Разворачиваем рабочий сервер OneScript для конфигурации АИТП

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) OneScript

В статье описана методика развертывания рабочего сервера OneScript для конфигурации АИТП, на ОС CentOS 7.

09.05.2019    4814    blackhole321    0       

​​​​​​​CorelDRAW Graphics Suite 2019 Промо

CorelDRAW – пакет профессиональных инструментов для редактирования фотографий, разработки дизайна, создания макетов страниц и векторных иллюстраций

Хостим OneScript.Web приложение

Статья Программист Нет файла Бесплатно (free) OneScript

Удобная возможность для размещения своего OneScript.Web приложение, это завернуть его в docker. Остается вопрос: где разместить контейнер, сделать это можно на vscale или DO, но хочется упростить и не делать установку самого docker на хосте. Один из вариантов - это сервис now https://zeit.co/.

04.07.2018    6722    pallid    3       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Добавляем онлайн-чат в web-приложение OneScript

Статья Программист Нет файла v8 Бесплатно (free) OneScript

В статье рассмотрено подключение онлайн-чата к web-приложению на основе http-сервисов OneScript

24.06.2018    6404    blackhole321    1       

Сказ про то, как я DevOps-ом занимался (OneScript, Deployka, Jenkins)

Статья Системный администратор Программист Нет файла v8 1cv8.cf ИТ-компания Бесплатно (free) OneScript DevOps Jenkins

Решаем задачу: автоматизировать обновление тестовых баз 1С из хранилища конфигурации при появлении в нём новых изменений. Данная статья родилась в муках хождения по граблям и поиска безопасного форватора среди подводных камней. Изложение постарался представить в виде инструкции для новичка, в которой собрал всё, с чем пришлось столкнуться. Сам я не DevOps-ер, ни на что не претендую, просто делюсь опытом :)

17.06.2018    18161    stas_ganiev    33       

Сдача регламентированной отчетности из программ 1С Промо

Сдача регламентированной отчетности из программ "1С" во все контролирующие органы без выгрузок и загрузок в другие программы. Для групп компаний действуют специальные предложения.

от 1500 руб.

Макеты в http-сервисах OneScript

Статья Программист Нет файла v8 Бесплатно (free) OneScript

В статье описана библиотека, реализующая механизм макетов в http-сервисах OneScript, аналогично платформе 1С:Предприятие.

03.06.2018    7085    blackhole321    1       

Перечисления в http-сервисах OneScript

Статья Программист Нет файла v8 Бесплатно (free) OneScript

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

03.06.2018    6725    blackhole321    13       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Обработки в http-сервисах OneScript

Статья Системный администратор Программист Нет файла Бесплатно (free) OneScript

В статье описана библиотека, реализующая механизм обработок в http-сервисах OneScript.

25.05.2018    6593    blackhole321    0       

Расширенные методы загрузки внешних библиотек в http-сервисах OneScript

Статья Программист Нет файла Бесплатно (free) OneScript

В статье описаны расширенные методы загрузки внешних библиотек в http-сервисах OneScript на примере механизма фоновых заданий.

25.05.2018    6460    blackhole321    0       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) OneScript

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci на примере портирования на onescript функции daСклонение.

14.05.2018    11097    pallid    3       

OneScript в облаке или Развертываем http-сервис OneScript на хостинге

Статья Программист Нет файла Бесплатно (free) OneScript

В статье описан процесс развертывания web-приложения, созданного на базе http-сервисов OneScript на бесплатном хостинге.

05.05.2018    8324    blackhole321    0       

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

TMSSQL - работа с базами данных MS SQL Server в скриптах на OneScript и из командной строки

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) OneScript

Представляю вашему вниманию библиотеку TMSQL для работы с базами данных на MS SQL Server. Библиотека подключается в качестве модуля или класса в скрипты, написанные на OneScript, а также может работать как независимое консольное приложение.

26.04.2018    12949    Tavalik    22       

Развертывание http-сервиса OneScript на Raspberry Pi

Статья Системный администратор Нет файла Бесплатно (free) OneScript

В статье описан процесс настройки, а также процесс развертывания http-сервиса (web-приложения) OneScript на Raspbian (Raspberry Pi 2).

23.04.2018    9687    blackhole321    10       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Создаем свою библиотеку для OneScript

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) OneScript

Как упаковать свою библиотеку в пакет? Что такое загрузчик и зачем он нужен? Как вообще создать свою библиотеку? Разбираемся на примере.

06.03.2018    18830    nixel    36       

Развертывание http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04

Статья Системный администратор Программист Нет файла Ubuntu Бесплатно (free) OneScript

В статье описан процесс настройки сервера, а также процесс развертывания http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04

04.03.2018    13914    blackhole321    14       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Обзор имеющихся библиотек OneScript

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) OneScript

Экосистема OneScript активно развивается. Количество пользователей данного интерпретатора и имеющихся библиотек неуклонно растет, количество решаемых проблем - тоже. Однако остро встает вопрос некоторой разобщенности и размазанности информации по имеющимся библиотекам, их функциональности и проблемам, которые они решают. Данная статья призвана навести порядок в этой теме.

14.11.2017    36824    nixel    86       

Начало работы с OneScript

Статья Системный администратор Программист Нет файла Бесплатно (free) OneScript

Краткая инструкция по установке и начале работы с OneScript. Пишу потому что сам много шишек набил, пока нашел все инструменты. В статье рассмотрены: 1) Установка OneScript. 2) Установка редактора кода. 3) Настройка редактора кода под OneScript. 4) Запуск скриптов из редактора кода 5) Полезные ссылки

18.10.2017    34962    DmitrySinichnikov    53       

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

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

С чего начать разработку скриптов на OneScript? Первые шаги

Статья Программист Нет файла Бесплатно (free) OneScript

После моего доклада на INFOSTART 2017 EVENT COMMUNITY ко мне многие обращались с таким вопросом: с чего начать разработку скриптов на OneScript? В этой статье привожу набор ссылок и некий порядок действий (как его вижу я) для людей, не знакомым с этим инструментом.

11.10.2017    23760    Tavalik    14       

Вебинтерфейс для OneScript и 1С

Статья Программист Нет файла v8 Россия Windows Бесплатно (free) OneScript

Пример создания вебинтерфейса для OneScript с использованием библиотеки UfaScript.osb

30.06.2017    12360    andreosh    7