Оформление
Поддержка среды и конфигурации для развертывания инженерных кластеров
в общих чертах
В этой статье дается краткое описание:
- Поддерживаемые среды развертывания для развертывания кластеров Sailsoft
- Требования, которые должны быть выполнены при развертывании кластера Sailsoft
- Типы поддержки компонентов кластера
Примечание 1: В этом документе приведен полный перечень сред поддержки развертывания. Рекомендуется обратиться к этому документу, чтобы выбрать наиболее подходящую среду развертывания: Engineering Deployment Recommended Environment
Примечание 2: В этой статье перечислены среды, в которых Sailsoft прошла тестирование.
- Более низкие версии, не упомянутые в этой статье, обычно не поддерживаются по умолчанию
- Более высокие версии, не представленные в этой статье, могут быть протестированы и проверены пользователем. Если после использования возникли проблемы, платные пользователи могут обратиться за помощью в техническую поддержку. Контакты технической поддержки: перейдите в раздел " Услуги ", выберите "Онлайн-поддержка" или позвоните по телефону "400-811-8890".
Примечание 3: Для всех видов компонентов кластера (таких как Nginx/Redis/внешняя база данных и т. д.) в документе перечислены только поддерживаемые версии, при выборе конкретного метода развертывания рекомендуется обращаться к документации конкретного производителя.
Общие требования к серверу
Серверные операционные системы
(1) Для развертывания приложений Sailsoft и компонентов кластера предпочтительно использовать операционную систему Linux.
- Версия системы: Ubuntu 18.04.4 и выше
- Ядро системы: 3.10 и выше
- Архитектура системы: X86_64
(2) FanSoft предоставляет инструмент "Cluster Environment Detection Tool " для определения соответствия среды серверной системы требованиям к развертыванию кластера.
Перед развертыванием рекомендуется запустить этот инструмент один раз на каждом сервере в кластере развертывания, и в отчете об обнаружении будут даны рекомендации относительно несоответствующих элементов.
Примечание: Сравнительный анализ Linux и Windows смотрите в разделе: Сравнительный анализ Linux и Windows
| форма | операционная система | Проверенный номер версии |
|---|---|---|
| Linux | Centos6 | Centos 6.5, Centos 6.6, Centos 6.7, Centos 6.8, Centos 6.9 |
| Centos7 | Centos 7.0, Centos 7.1, Centos 7.2, Centos 7.3, Centos 7.4Centos 7.6, Centos 7.8, Centos 7.9 | |
| RedHat6 | RedHat 6.5, RedHat 6.6, RedHat 6.7, RedHat 6.8, RedHat 6.9 | |
| RedHat7 | RedHat 7.0, RedHat 7.1, RedHat 7.2, RedHat 7.3, RedHat 7.4RedHat 7.7 | |
| Ubuntu | Ubuntu 10.04.4, Ubuntu 18.04, Ubuntu 20 | |
| Amazon Linux | Amazon Linux AMI выпуск 2018.03 | |
| Windows (компьютер) | Windows Server 2008 ивышеWindows 11 |
Дисковое пространство сервера
| каталог (на жестком диске компьютера) | Соответствует английским -ity, -ism, -ization | Требования к конфигурации |
|---|---|---|
| Инженерное развертывание | Используется для развертывания проектов, хранения файлов ресурсов шаблонов проектов и т. д. | 500 Гб или более |
| корневой каталог | **Сохраненное содержимое:Для приложений sailsoft это временный кэш, когда система используется.FineBI60Для кластерных компонентов это относится к различным кэшам во время выполнения компонентаКаталог Расположение:**1) Для проектов, запущенных пользователем root в системах linuxКорневой каталог находится в каталоге /root2) Для проектов, запущенных нерутовыми пользователями на системах linuxКорневой каталог в каталоге /home/$username/3) Для проектов, начатых в WindowsКорневая директория находится в каталоге C:\Users\Username | Не менее 40G |
| каталог /usr | Путь хранения журнала по умолчанию | Не менее 15G |
| каталог /home | Каталог хранения файлового сервера для шаблонов и других файлов ресурсов | Не менее 10G |
Подготовка портов сервера
(1) Middleware, файловый сервер и государственный сервер содержат различные типы, поэтому открывайте порты самостоятельно в соответствии с выбором.
2) Информация о том, занят порт или нет, приведена в разделе: Просмотр занятости порта. Если порт по умолчанию конфликтует с другими проектами, необходимо сначала изменить порт, а затем открыть соответствующий порт.
(3) Если на одном сервере развернуто несколько проектов Tomcat, вам необходимо изменить номер порта Tomcat, чтобы предотвратить конфликты портов, см. раздел: Изменение номера порта Tomcat
4) Если брандмауэр включен, необходимо открыть соответствующий номер порта:
- О том, как открыть порты в системах Windows, читайте в разделе: Windows Server Setting Up Entry and Exit Rules.
- О том, как открыть порты в системах Linux, читайте в разделе: Использование и настройка брандмауэра Linux.
5) Для контейнеров docker или сред, где порты между серверами строго ограничены, необходимо открыть порты между серверами на узлах для межузлового взаимодействия.
- Для восьми портов выбран протокол TCP 7800/7810/7820/7830/7840/7850/7860/7870.
- Выберите протокол UDP от 45588 до 65536 случайных портов
| категоризация | элемент | порты | примечание |
|---|---|---|---|
| балансировка нагрузки | Nginx | 80 или 443 | Внешний порт, должен быть открыт для публики, может быть изменен (nginx.conf), является входным портом кластерной системы, другие порты балансировки нагрузки настраивайте самостоятельно |
| промежуточное ПО | Tomcat | 8080 | Внешние порты, не открытые для публики, могут быть изменены (server.xml), SSL, короткий адрес и т. д. в конфигурации уровня балансировки нагрузки |
| WebLogic | 7001 | ||
| WebSphere | 9080 | ||
| уведомление о сообщении | Порт Websocket | 48888/49888 | Дополнительную информацию см:Контейнерное решение WebsocketКонфигурация кластера Порты WebSocket |
| Порт переадресации Websocket | 48889 | ||
| файловый сервер | FTP | 20, 21 | Внутренний порт, модифицируемый (самодействующий) |
| SFTP | 22 | Внутренний порт, не подлежит изменению | |
| HDFS | 9000 | Внутренний порт, модифицируемый (самодействующий) | |
| полноправный сервер | redis standalone | 6379 | Внутренний порт, изменяемый (redis.conf) |
| кластер redis | / | Внутренние порты, измените их в соответствии с конфигурацией (redis.conf) | |
| Связь между узлами кластера | Внутрикластерная связь между узлами | 7800, 7830, 7840, 7850, 7870 | Просто нужно, чтобы узлы были открыты друг для друга |
Требования к серверной сети
(1) Приложения и компоненты кластера FanSoft могут быть развернуты как в публичной, так и в интранет-среде. Как показано в таблице ниже:
| типология | полосы пропускания | сегмент сети |
|---|---|---|
| открытая сеть | 10M или более | Инженерные узлы, компоненты кластера, внешние базы данных в одном сегменте сети |
| интранет | Интранет обычно имеет пропускную способность 100 Гбит/гигабит, поэтому требования к пропускной способности отсутствуют. | Инженерные узлы, компоненты кластера, внешние базы данных в одном сегменте сети |
2) Необходимо поддерживать связь между отдельными узлами проекта, компонентами кластера и внешними базами данных.
- Пользователи Linux: используйте инструмент Cluster Environment Detection для автоматического определения системного окружения или воспользуйтесь оператором ping.
- Пользователи Windows: для обнаружения используйте оператор ping или telenet.
Разработка требований к развертыванию
Требования к конфигурации сервера
Приложения SailSoft поддерживают автономное и кластерное развертывание, причем кластеры представляют собой несколько инженерных узлов.
Каждый узел - это проект, который может работать независимо и отвечает за обработку запросов пользователей, выполнение задачи по созданию инструментальных панелей и управление работой других компонентов.
На одном сервере может быть развернут только один инженерный узел кластера, поэтому для определения количества инженерных узлов требуется определенное количество серверов.
В этой статье для рекомендации конфигурации взяты три сценария. Если ваш проект FineBI включает более одного сценария, просто выберите самую высокую конфигурацию в качестве рекомендуемой.
Пользователям необходимо обратиться к разделу " Введение прямых и извлеченных данных ", чтобы понять, используют ли они "данные в реальном времени" или "извлеченные данные".
Описание размеров пользователя:
| Тип пользователя | инструкции |
|---|---|
| Количество ежедневных пользователей | Количество пользователей, вошедших в систему FineBI Engineering за один день |
| Количество онлайн-пользователей | Количество пользователей, одновременно вошедших в проект FineBI |
| Количество одновременных пользователей | Количество пользователей, одновременно выполняющих операции над проектом FineBIТо есть, сколько пользователей одновременно отправляют запросы на сервер, то есть, сколько запросов, отправленных пользователями, обрабатывается сервером в одно и то же время. |
| Ограничение параллельности при регистрации лицензий | Статистика на основе IP-адреса, сервер получает IP-адрес из запроса в качестве параллельного ключаЭтот параметр Lic не связан с количеством пользователей, указанных ниже. |
Непосредственно подключенные данные
Описание сценария: используйте только непосредственно подключенные данные, а не извлеченные.
Пропускная способность между узлами кластера и между узлами и другими компонентами 1000 Мбит/с.
В зависимости от параллельности проекта и вычислительной мощности БД источника данных выбирайте более высокую конфигурацию, если она попадает в несколько диапазонов конфигураций;
Edit Concurrent Correspondence Cache Not Hit;
Верхний предел количества одновременных пользователей в секунду соответствует попаданиям в кэш, а нижний - непопаданиям в кэш.
| Количество ежедневных пользователей | Количество онлайн-пользователейпочасовая | Количество одновременных пользователейкаждая секунда | компиляторпараллелизм | Вычислительная мощность источника данныхКоличество вычислений, обрабатываемых в секунду | Рекомендуемые конфигурации | минимальная конфигурация |
|---|---|---|---|---|---|---|
| 500 | <100 | <20 | <20 | <10 | Автономный, узлы встречаются: CPU: 8 ядер 16 потоков 2.5GHZ Память JVM: 16 ГБ Физическая память: 24 Гб | Автономный, узел удовлетворен:Процессор: 4 ядра 8 потоков 2,5 ГГцПамять JVM: 8 ГБФизическая память: 12 Гб |
| 2K | 100~1K | 40~90 | 10~40 | 10~20 | Кластер из 2 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 32 Гб | Автономный, узел удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 24 Гб |
| 3K | 600~1.5K | 60~130 | 30~60 | ≥30 | Трехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 24 Гб | 2-узловой кластер, каждый узел встречается: CPU: 16 ядер, 32 потока, 2.5GHZ. Память JVM: 24 ГБ Физическая память: 48 Гб |
| 4K | 600~2K | 60~170 | 60~80 | ≥30 | Кластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 24 Гб | Трехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб |
Извлеченные данные: анализ Self-service с высокой ежедневной активностью
Описание сценария: проект FineBI с большим количеством ежедневных пользователей, Self-service пользователей при анализе данных (соответствующий запрос FineBI не попадает в кэш).
Суммарное количество узлов оценивает параллелизм: количество онлайн-пользователей Y = 300 * (количество узлов X-1) + 400.
Требования к пропускной способности и пропускной способности диска превышают 100 МБ/с (обычная производительность локального жесткого диска HDD), рекомендуется использовать твердотельные накопители SSD.
Память JVM ≠ вся память машины, рекомендуется, чтобы память JVM занимала 2/3 ~ 3/4 всей памяти машины.
| Количество онлайн-пользователейпочасовая | Количество одновременных пользователейкаждая секунда | компиляторпараллелизм | Количество столов/размер стола | Рекомендуемые конфигурации | минимальная конфигурация |
|---|---|---|---|---|---|
| <100 | <20 | <20 | <100 листов/<1T | Автономный, узлы встречаются: CPU: 8 ядер 16 потоков 2.5GHZ Память JVM: 16 ГБ Физическая память: 32 Гб | Автономный, узел удовлетворен:Процессор: 8 ядер, 16 потоков, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 32 Гб |
| 300~1K | 20~70 | 10~40 | <100 листов/<1T | Кластер из 2 узлов, каждый из которых удовлетворен:Процессор: 8 ядер, 16 потоков, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 32 Гб | Автономный, узел удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб |
| 600~2K | 40~120 | 30~60 | >2k листов/>1T | Двухузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб | Кластер из 2 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб |
| 900~3K | 50~160 | 50~80 | >4k листов/>2T | Трехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб | Кластер из 2 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб |
| 1.2K~3.5K | 60~190 | 70~100 | >5 тыс. листов/>3T | Кластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб | Трехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб |
| 1.5K~4K | 80~220 | 80~200 | >5 тыс. листов/>3T | Кластер из 5 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб | Кластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб |
Извлечение данных: панель одновременного просмотра
Сценарий: соответствует таким сценариям, как одновременный просмотр отчетов пользователями. То есть суммарное количество пользователей, обращающихся к Y, обычно составляет 5-10 минут (что соответствует полному попаданию в кэш запросов FineBI, то есть несколько одинаковых вычислительных запросов могут напрямую попасть в результаты возврата).
Суммарное количество узлов для оценки параллелизма: 5 минут одновременных пользователей Y = 380*количество узлов X
Когда количество запрашивающих пользователей в секунду достигает 160, скорость загрузки сервера балансировки нагрузки должна быть высокой и достигать 100 МБ/с.
Память JVM ≠ вся память машины, рекомендуется, чтобы память JVM занимала 2/3 ~ 3/4 всей памяти машины.
| количество пользователейКаждые 5 минут | количество пользователейкаждая секунда | Рекомендуемые конфигурации | минимальная конфигурация |
|---|---|---|---|
| ~400 | 40 | 2-узловой кластер, каждый узел встречается: CPU: 8 ядер 16 потоков 2.5GHZ Память JVM: 16 ГБ Физическая память: 32 Гб | Автономный, узел удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб |
| 400~800 | 80 | Кластер из 2 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб | Двухузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб |
| 800~1.1K | 110 | Трехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб | Трехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб |
| 1.1K~1.6K | 160 | Кластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб | Трехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб |
| 1.6K~2K | 190 | Кластер из 5 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб | Кластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб |
Другие требования к серверу
| категоризация | инструкции | справочный документ |
|---|---|---|
| языковое требование | При развертывании проекта на Linux носителям китайского языка следует проверить наличие китайского языкового пакета в своей системе. | Установка китайских языковых пакетов в системах Linux |
| требование к полномочиям | Чтобы проект работал правильно, папке проекта должно быть присвоено разрешение не менее 755. | Конфигурация разрешений файлов в Linux |
| синхронизация | Проверьте, совпадает ли системное время на сервере каждого инженерного узла.Несоответствие может привести к недоступности кластера и проблемам с синхронизацией | Как в системе Linux настроить согласованность времени между узлами? |
Требования к среднему программному обеспечению
Развертывание в контейнерах/развертывание пакетов К этому разделу готовиться не нужно. продукты имеют встроенные JDK и серверы приложений. встроенные JDK - это OpenJDK.
Автономное развертывание требует подготовки этого раздела. Вам необходимо предоставить собственный сервер приложений и JDK.
FineBI - это чисто Java-сервлетное приложение, которое должно быть развернуто под Tomcat, WebLogic, WebSphere и другим промежуточным программным обеспечением.
Приложение FineBI Servlet загружается при запуске промежуточного ПО, и проект будет работать правильно.
| промежуточное ПО | Версия промежуточного ПО | Версия JDK |
|---|---|---|
| Tomcat | Мы рекомендуем использовать последнюю версию Tomcat8.Примечание: Использование рекомендуемой версии уменьшает проблемы безопасности, вызванные низкими версиями Tomcat.Поддержка Tomcat версий 7.0~9.0Tomcat версии 10.0 не поддерживается | JDK 1.8 с минорной версией JDK8u102 или выше.Примечание 1: Если версия JDK не соответствует этому требованию, вы можете столкнуться с проблемами при развертывании начальной установки.Примечание 2: Версия JDK должна соответствовать операционной системе, например, 32-битные системы могут использовать только 32-битный JDK.Примечание 3: OpenLogic OpenJDK не поддерживается. |
| WebLogic | Weblogic 12.2.1.3 и выше | |
| WebSphere | WebSphere 8.5 | |
| JBoss | JBoss6 и выше | |
| Смола | Смола-4.0.58 |
1) Соображения по развертыванию промежуточного ПО:
- Чтобы запустить FineBI в контейнере docker, убедитесь, что объем оперативной памяти превышает 8 Гб.
- Рекомендуется использовать распакованную версию Tomcat и JDK.
- Несколько проектов FineBI не могут быть развернуты в одном промежуточном ПО.
- Если у вас установлено более одного Tomcat, не рекомендуется настраивать CATALINA_HOME или TOMCAT_HOME в вашей среде. В противном случае, независимо от того, какой Tomcat запускает пользователь, будет запущен тот, который указан в CATALINA_HOME.
- Программное обеспечение Middleware не следует устанавливать на физические компьютеры или виртуальные машины VM, на которых также работают ресурсоемкие приложения, такие как базы данных или серверы приложений.
Согласно рекомендациям по процессорам, необходимо убедиться, что FineBI действительно может занимать 80 % ресурсов.
2) Указания по установке JDK на системы Windows:
- Переменная окружения JAVA_HOME должна быть там, путь должен быть в %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
- Если в каталоге %JRE_HOME%/bin, на который указывает переменная окружения, нет файла attach.dll, необходимо скопировать attach.dll из каталога %JAVA_HOME%/jdk/jre/bin по этому пути, иначе Tomcat сообщит об ошибке после запуска: fine assist start не удалось
Подготовка прикладной техники
Для развертывания контейнеров/пакетов развертывания не нужно готовить этот раздел, в продукт встроен совершенно новый проект. После развертывания нового проекта необходимо самостоятельно установить имя пользователя и пароль для входа в платформу.
Самостоятельное развертывание требует подготовки к этому разделу.
- Чтобы развернуть проект, подготовьте папку webroot в %BI_HOME%\webapps.
- Вам нужно заранее подготовить проект, существующий проект или перезагрузить последний проект.
- Если вы используете существующий проект для развертывания, имя пользователя и пароль для входа в платформу будут соответствовать имени и паролю существующего проекта.
Требования к внешним базам данных
Вся информация в системе Data Decision System, кроме конфигурации атрибутов платформы, включая настройки дерева каталогов, информацию о временных задачах шаблона и т. д., хранится в единой базе данных.
Он управляет и хранит различную конфигурационную информацию узлов проекта, обеспечивает согласованность конфигурации каждого узла и позволяет администратору централизованно управлять метаданными проекта.
Независимо от того, являются ли они автономными или кластерными, для официальных проектов рекомендуется настраивать внешние базы данных.
Требования к конфигурации сервера
Занятость необходимо регулировать в зависимости от степени использования, можно настроить в соответствии с размером папки webapps/webroot/WEB-INF/embed/finedb, а на основе фактического размера будущего использования прогнозировать размер будущего, увеличенный в 1 - 2 раза.
Внешние базы данных стараются находиться в том же сегменте сети, что и инженерные узлы, чтобы избежать таких проблем, как колебания сети.
Если есть возможность, рекомендуется развернуть компоненты балансировки нагрузки, сервера состояния, файлового сервера и внешней библиотеки конфигурации на отдельных серверах или, по крайней мере, обеспечить наличие отдельных серверов для развертывания этих компонентов, если условия для этого недостаточны.
| Тип конфигурации | минимальная конфигурация | Рекомендуемые конфигурации |
|---|---|---|
| Количество серверов | 1 | 2, режим "ведущий-ведомый |
| физическая память | 8 ГБ | 16 ГБ |
| ПРОЦЕССОР | 2,4 ГГц и выше4-ядерный, 8-поточный | 2,5 ГГц или выше 8 ядер и 16 потоков |
| скорость сети | 50 Мбит/с | 100 Мбит/с |
| Свободное дисковое пространство | 100 Гбит/с или болееВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства. | 100 Гбит/с или болееВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства. |
| Скорость чтения/записи дисков | 50 МБ/с | 100 МБ/с |
Требования к типу базы данных
Неконтейнерные развертывания требуют подготовки к этой главе. В контейнерных развертываниях не нужно готовить содержимое этого раздела; база данных MySQL автоматически устанавливается и выводится наружу.
| Тип базы данных | Поддерживаемые версии баз данных | Метод конфигурирования |
|---|---|---|
| RDS MySQL | - | Настройка внешней базы данных MySQL5 |
| MySQL | 5.1.73, 5.5.31, 5.5.46, 5.5.56, 5.6.22, 5.6.31, 5.7.16 | |
| 8.0.11, 8.0.16, 8.0.20 | Настройка внешней базы данных MySQL8 | |
| Oracle | 10g, 11g, 12c | Настройка внешней базы данных Oracle |
| SQL Server | 2000, 2005, 2008, 2012, 2014, 2016 | Настройка внешней базы данных SQL Server |
| 2017 | ||
| DB2 | 9.7, 8.2, 11.1 | Настройка внешней базы данных DB2 |
| PostgreSQL | 9.4.7, 9.5.0, 9.5.2, 9.6.0 | Настройка внешней базы данных PostgreSQL |
Требования к балансировке нагрузки
В кластерной архитектуре FanSoft балансировщик нагрузки - это компонент, который соединяет пользователей с узлами кластера, чтобы обеспечить разумное распределение пользовательских запросов между различными узлами кластера.
Балансировщик нагрузки может распределять запросы пользователей по различным узлам с помощью различных алгоритмов для повышения производительности и балансировки нагрузки.
Требования к конфигурации сервера
| Тип конфигурации | инструкции |
|---|---|
| Количество серверов | Если есть возможность, рекомендуется развернуть балансировку нагрузки, серверы состояния, файловые серверы и компоненты внешней библиотеки конфигурации на отдельных серверах.Если нет, то хотя бы убедитесь, что для развертывания этих компонентов доступен отдельный сервер. |
| физическая память | 8G |
| ПРОЦЕССОР | 2,5 ГГц или выше 8 ядер и 16 потоков |
| Свободное дисковое пространство | 100 Гбит/с или болееВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства. |
| Компилятор GCC | Развертывание Nginx на системах Linux зависит от компилятора GCC.Убедитесь, что в вашей системе есть среда компиляции GCCКоманда запроса: gcc -vКоманда установки: yum install gcc gcc-c++ |
| требование к сети | (1) Каждый компонент и прикладная техника должны находиться в одном сегменте сети, чтобы избежать сетевых колебаний и других проблем.(2) Для каждого компонента и приложения в общедоступной сетевой среде пропускная способность должна быть более 10M(3) Компоненты и прикладная техника должны быть объединены в сеть и доступны через порты друг друга. |
Требования к типу балансировки нагрузки
Неконтейнерные развертывания требуют подготовки к этому разделу. Контейнерные развертывания не требуют подготовки к этому разделу; Nginx устанавливается автоматически.
Keepalived+Nginx рекомендуется для кластеров с высокой доступностью, а Nginx - для стандартных кластеров.
Балансировка нагрузки Apache не поддерживается.
| балансировка нагрузки | краткое содержание |
|---|---|
| Keepalived+Nginx | **Синопсис:**Keepalived+Nginx - жизнеспособное решение для обеспечения высокой доступности и балансировки нагрузки.Keepalived следит за состоянием нескольких серверов Nginx, поэтому при выходе из строя одного из них он может автоматически занять его IP-адрес и перенаправить все запросы на другие нормальные серверы.Это обеспечивает высокую доступность веб-сервисов и позволяет избежать перебоев в обслуживании, вызванных единственной точкой отказа.**Плюсы:**Высокая доступность: Keepalived отслеживает состояние сервера и автоматически выполняет обход отказа для обеспечения высокой доступности сервисов.Балансировка нагрузки: Nginx распределяет запросы по разным серверам, чтобы добиться балансировки нагрузки и повысить производительность и пропускную способность системы.Обратный прокси: Nginx предоставляет функцию обратного прокси для перенаправления запросов на различные веб-серверы, чтобы обеспечить эффективность работы веб-сервисов.Недостатки:Сложная настройка: Keepalived + Nginx требуют сложной конфигурации, требующей определенного технического уровня и опыта.Требуется больше аппаратных или виртуальных ресурсов, требуется не менее двух серверов, требуются дополнительные инвестиции в аппаратные или виртуальные ресурсыДокументация:План развертывания Keepalived+Nginx |
| Nginx | Введение: Nginx - это высокопроизводительный, высоконадежный веб-сервер с открытым исходным кодом и обратный прокси-сервер.Широко используется для балансировки нагрузки, веб-кэширования, контроля безопасности и т.д.**Плюсы:**Поддержка различных алгоритмов обратного прокси и балансировки нагрузки, высокая производительность и высокая пропускная способность, простая конфигурация, легкость расширенияОчень хорошая производительность параллелизма в системах Linux при очень малом объеме занимаемой памяти и доказанной стабильности и производительности.Недостатки:Интеграция между различными модулями недостаточно полная и может стать препятствием для новичковВ системах Windows могут возникнуть проблемы с параллелизмом, если потребность в параллелизме превышает 200Документация:Установка и настройка Nginx в системах LinuxУстановка и настройка Nginx для Windows |
| Traefik | Введение: Traefik - это современный инструмент динамической балансировки нагрузки для Windows.Плюсы:Не требует установки, просто запускается из командной строки, очень прост в развертывании и использовании!Поддержка автоматического обновления конфигураций обратного прокси и балансировки нагрузкиХорошая производительность в системах WindowsМинусы: Для некоторых функций требуются расширенные версии, обновленные версии недостаточно стабильныДокументация:установка системы windows настройка Traefik |
| AWS ELB | Введение: AWS ELB - это сервис балансировки нагрузки, предоставляемый облачными вычислительными службами Amazon, включающий классическую балансировку нагрузки, балансировку нагрузки приложений и балансировку нагрузки сети трех типов, может достигать балансировки нагрузки различных протоколовПреимущества: доступность и надежность, поддержка множества протоколов, возможность быстрого развертывания, простота в обслуживанииМинусы: Более высокая стоимость, более сложная конфигурация и управление правами |
| F5 | Введение: F5 - компания, предоставляющая услуги для веб-приложений и выпускающая продукты, включая балансировку нагрузки, защиту приложений и т. д.Преимущества: высокая доступность и надежность, поддержка различных сценариев и типов приложений, передовые решения для обеспечения безопасности приложений.Минусы: Высокая цена, более сложная настройка, требуется техническая поддержка |
Требования к серверу состояния
Сервер состояния - это сервисный компонент, который используется для хранения информации о состоянии узлов кластера, например о рабочем состоянии узла, его загрузке и обработке задач.
Она позволяет динамически распределять задачи между соответствующими узлами и помогает администраторам отслеживать состояние кластера и планировать его работу в режиме реального времени.
Требования к конфигурации сервера
| Тип конфигурации | инструкции |
|---|---|
| Количество серверов | Если есть возможность, рекомендуется развернуть балансировку нагрузки, серверы состояния, файловые серверы и компоненты внешней библиотеки конфигурации на отдельных серверах.Если нет, то хотя бы убедитесь, что для развертывания этих компонентов доступен отдельный сервер. |
| JVM/физическая память | 4 г/8 г |
| ПРОЦЕССОР | 2,5 ГГц или выше 8 ядер и 16 потоков |
| Свободное дисковое пространство | 100 Гбит/с или болееВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства. |
| Компилятор GCC | Развертывание Redis на системах Linux основано на компиляторе GCC.Убедитесь, что в вашей системе есть среда компиляции GCCКоманда запроса: gcc -vКоманда установки: yum install gcc gcc-c++ |
| сетевые требования | (1) Каждый компонент и прикладная техника должны находиться в одном сегменте сети, чтобы избежать сетевых колебаний и других проблем.(2) Для каждого компонента и приложения в общедоступной сетевой среде пропускная способность должна быть более 10M(3) Компоненты и прикладная техника должны быть объединены в сеть и доступны через порты друг друга. |
Требования к типу сервера состояния
Неконтейнерные развертывания требуют подготовки к этому разделу. Контейнерные развертывания не требуют подготовки к этому разделу; автономный Redis устанавливается автоматически.
В кластерном решении SailSoft поддерживаются следующие серверы: Redis Standalone, Redis Cluster, Redis Sentinel.
Кластеры Redis рекомендуются для кластеров с высокой доступностью, а Redis standalone - для стандартных кластеров.
| полноправный сервер | инструкции |
|---|---|
| Redis Standalone | **Синопсис:**Автономный режим Redis - это самый простой способ развертывания Redis, при котором развертывается только одно приложение RedisОн также является самым простым в использовании: всего три элемента конфигурации: хост, порт и пароль.Преимущества: простота настройки и управления, отсутствие необходимости рассматривать такие вопросы, как разделение и кластеризация данных, низкие эксплуатационные расходы.Недостатки: подверженность единой точке отказа, пропускная способность ограничена одним сервером, невозможно обеспечить высокую доступность и балансировку нагрузки.Документация:Установка и настройка автономного Redis в системе LinuxУстановка и настройка автономного Redis в системе Windows |
| Кластер Redis | Введение: Кластеризация Redis - это развертывание Redis на основе шардинга, при котором данные распределяются по нескольким узлам, что позволяет достичь горизонтального масштабирования и высокой доступности. Обычно используется шесть узлов Redis в режиме "три ведущих, три ведомых".Преимущества: После выхода из строя ведущего узла на основе механизма голосования ведомые узлы могут автоматически подняться до ведущего узла, что позволяет повысить доступность сервиса Redis. Разделение данных и их хранение на разных мастер-узлах может значительно улучшить поддержку производительности сервиса Redis.Недостатки: Кластеры Redis требуют больше ресурсов, а затраты на эксплуатацию и обслуживание будут выше, необходимо как минимум три сервера, а рекомендуется подготовить шесть серверов.Поскольку данные хранятся в разделах, при выходе из строя ведущего узла и соответствующих ему ведомых узлов весь кластер Redis становится непригодным для использования.Если количество выживших мастер-узлов составляет менее половины от общего числа узлов, весь кластер Redis также не сможет предоставлять услуги.Документация:Установка и настройка кластера Redis в системе Linux |
| Redis Sentinel | Введение: Redis Sentinel - это централизованное решение для обеспечения высокой доступности Redis, которое автоматически отслеживает состояние узлов Redis, а при отказе одного из узлов автоматически переключается на другой. В основном состоит из ведущего узла, нескольких ведомых узлов и нескольких дозорных, обычно один ведущий, два ведомых и три дозорных.Плюсы: Обеспечивают более высокую доступность, применимы для Redis standalone и Redis cluster. У Redis Sentinel есть только один ведущий узел, когда ведущий узел выходит из строя, дозорный выбирает ведомый узел, который подменяет ведущий узел.Недостатки: Необходимость занимать некоторые системные ресурсы, необходимость регулярно проверять состояние Redis, невозможность горизонтального масштабирования Производительность чтения и записи в Redis Sentinel не так хороша, как в кластере Redis, поскольку в кластере Redis для чтения и записи используется несколько мастер-узлов, поэтому он не поддерживает высокий параллелизмДокументация:Redis Sentinel Mode Plugin |
Требования к файловому серверу
Файловый сервер - это компонент кластера, который хранит данные отчетов и вложения. Он централизованно управляет файлами и обменивается ими между узлами кластера, чтобы обеспечить согласованность и высокую доступность файловых данных.
Поскольку каждый узел считывает файлы ресурсов с одного и того же файлового сервера, синхронизация не требуется, и файлы ресурсов, считываемые каждым узлом, всегда будут согласованы.
Требования к конфигурации сервера
| Тип конфигурации | инструкции |
|---|---|
| Количество серверов | Если есть возможность, рекомендуется развернуть балансировку нагрузки, серверы состояния, файловые серверы и компоненты внешней библиотеки конфигурации на отдельных серверах.Если нет, то хотя бы убедитесь, что для развертывания этих компонентов доступен отдельный сервер. |
| физическая память | 8g |
| ПРОЦЕССОР | 2,5 ГГц или выше 8 ядер и 16 потоков |
| Свободное дисковое пространство | 500G~1TВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства.Пожалуйста, расширьте список, чтобы использовать его в будущем |
| права пользователя | Linux-системам необходимо использовать старшего пользователя (root) при установке FTP, иначе она не может быть выполнена, если вы не устанавливаете FTP, то пренебрегайте этим требованием |
| сетевые требования | (1) Каждый компонент и проект приложения рекомендуется размещать в одном сегменте сети, чтобы избежать колебаний сети и других проблем. (2) Каждый компонент и прикладная техника в общедоступной сетевой среде, пропускная способность должна быть более 10M. (3) Каждый компонент и приложение должны быть гладкой сети между друг другом порт может быть доступен. |
Требования к типу файлового сервера
Неконтейнерные развертывания требуют подготовки к этому разделу. Контейнерные развертывания не требуют подготовки к этому разделу; MinIO устанавливается автоматически.
FanSoft поддерживает различные файловые серверы. Ниже описаны преимущества и недостатки каждого типа файловых серверов.
NAS рекомендуется для кластеров с высокой доступностью, а SFTP - для стандартных кластеров.
Рекомендуемый уровень: SFTP≈MinIO>NFS>FTP≈HDFS
| типология | vantage |
|---|---|
| SFTP | Введение: SFTP - это протокол передачи зашифрованных файлов по протоколу SSH.Плюсы: легко развертывается, поставляется с Linux, более безопасен и стабилен по сравнению с FTP**Недостатки:**Невысокодоступное решение, которое при выходе из строя затрагивает весь сервис.Поскольку при передаче данных по SFTP используется технология шифрования/дешифрования, эффективность передачи значительно ниже, чем при обычном FTP.Документация:Конфигурирование системы Linux с помощью SFTPНастройка системы Windows с помощью SFTP |
| FTP | Введение:FTP является протоколом передачи файлов, может быть достигнуто через FTP-сервер загрузки, скачивания и управления файлами и другие функцииПлюсы: высокая стабильность, хорошая производительность, высокая скорость чтения/записиНедостатки: не является высокодоступным решением, простои влияют на весь сервис.Документация:Установка и настройка системы Linux FTPКонфигурация системы Windows Служба FTP |
| HDFS | Введение: HDFS - это аббревиатура от Hadoop Distributed File System, файловая система, основанная на архитектуре распределенного хранения, которая может хранить большие файлы данных и поддерживать такие операции, как анализ и добыча больших данных.Преимущества: высокодоступное решение, распределенная файловая система с высокой степенью отказоустойчивостиНедостатки: сложность развертывания, высокая стоимость эксплуатации и обслуживания, рекомендуется выбирать это решение тем компаниям, у которых уже есть сервисы HDFS.Документация:Хранилище ресурсов HDFS |
| MinIO | Введение: MinIO - это легкий сервер хранения объектов с открытым исходным кодом, который может работать в любой среде и поддерживает различные API облачных хранилищ.Преимущества: MinIO - это простота развертывания и управления, высокая производительность и низкая стоимость.Минусы: Есть некоторые недостатки в инженерном обеспеченииДокументация:Репозиторий ресурсов MinIO |
| S3 | Введение:Используйте в качестве файлового сервера облачную файловую систему хранения данных, поддерживающую протокол S3, в том числе AliCloud OSS, Huawei Cloud OBS, Amazon Cloud S3.Преимущества: облачные хранилища, высокодоступные решения, с высокой степенью отказоустойчивости, клиентам, у которых уже есть хранилища такого типа, стыковка очень удобнаНедостатки:Поддерживаются только некоторые S3, самостоятельно созданные S3 не обязательно поддерживаютсяВ сценариях восстановления резервных копий могут возникать задержкиДокументация:Хранилище ресурсов S3 |
| Общие внешние каталоги | Введение: Общее внешнее хранилище - это способ подключения внешнего хранилища к серверу, который позволяет использовать такие функции, как общие папки и общий доступ к сети.**Плюсы:Аппаратное хранилище (NAS): высокая стабильность, пространство для хранения, как правило, большоеПрограммное хранилище (NFS): простое в развертывании, зрелое решениеНедостатки:**Аппаратные системы хранения данных (NAS): высокая стоимость и неполная доступность, простои также влияют на услуги.Программное хранилище (NFS): не является высокодоступным, когда сервер выходит из строя, клиент больше не может предоставлять услуги.Документация:общий внешний каталог |
Другие требования к конфигурации кластера
режим кэширования
Режим кэширования был добавлен и может быть выбран во внешнем интерфейсе. Кэш и файловые серверы могут увеличить высокую доступность файловых серверов при совместном использовании, и ниже описано, как его выбрать.
1) Функция кэша
Кэшированные файлы ресурсов: содержат файлы отчетов, панели управления, файлы конфигурации, данные карт и т. д. В настоящее время существует четыре папки: "reportlets/", "resources/", "assets/" и "dashboards".
Активный кэш: все файлы ресурсов будут кэшированы при запуске проекта, а последующее использование практически не отличается от пассивного кэша.
Пассивное кэширование: кэшируются только те файлы ресурсов, к которым осуществляется доступ.
2) Роль кэширования
Плюсы:
- Улучшение высокой доступности файлового сервера. Если при использовании файлового сервера включен кэш, то когда файловый сервер не работает, система считывает файлы ресурсов из кэша и может продолжать нормально предоставлять услуги внешнему миру.
- Кэширование позволяет избежать частого чтения и записи файлов, работает быстрее и может значительно повысить производительность доступа к шаблонам.
Недостатки:
- Кэширование занимает системную память и ресурсы жесткого диска.
- Из-за разделения кластера и других нестабильностей кэш может иногда не синхронизироваться, и это можно сделать, обновив кэш вручную через интерфейс.
Подводя итог, можно сказать, что включение кэширования может значительно повысить производительность проекта, а при использовании файлового сервера - улучшить высокую доступность системы, поэтому рекомендуем вам рассмотреть возможность включения кэширования при использовании файлового сервера.
протокол связи
SailSoft Cluster поддерживает протоколы TCP и UDP, по умолчанию используется протокол TCP, ниже приведен список различий между этими двумя протоколами:
| TCP | UDP | |
|---|---|---|
| затирка | на основе соединения | без соединения |
| Требования к системным ресурсам | подробнее | меньше |
| структура программы | затейливые | проще |
| Корректность данных | обещание | негарантированный |
| последовательность данных | обещание | негарантированный |
| сценарий применения | Большая нагрузка на сеть и высокая потребность в оперативном реагировании | |
| сокет | socket(PF_INET,SOCK_STREAM,0) | socket(PF_INET,SOCK_DGRAM,0) |
| передача и прием данных | отправка/отправка | отправлять/получать от |
| Определение адресной информации | Определяется при подключении/приеме | Адресная информация должна указываться каждый раз в функции sendto/recvfrom. |
Следует отметить, что большинство облачных серверов (AliCloud, Amazon Cloud и т. д.) не поддерживают протокол UDP, поэтому вы можете выбрать только протокол TCP.
Если сервер поддерживает оба протокола TCP/UDP, то при небольшом количестве узлов нет особой разницы в выборе протоколов TCP/UDP; при большом количестве узлов рекомендуется выбирать протоколы UDP для более эффективного взаимодействия.