Ввімкнення балансування навантаження
Hideez Enterprise Server – Увімкнути балансування навантаження
В деяких випадках, необхідно забезпечити відмовостійкість сервера HES.
Можна умовно розділити відмовостійкість сервера бази даних (MySQL) та відмовостійкість самого HES.
Що стосується відмовостійкості баз даних, то цей процес детально розписаний у відповідній документації, наприклад - тут.
Тут будемо вести мову тільки про HES, і далі йде невелика інструкція як це зробити.
Розглянемо приклад, коли маємо окремий сервер MySQL, три окремих сервери HES, та проксі Nginx, через який кінцевий клієнт має доступ до групи серверів HES. Розподіл навантаження, у такому випадку буде полягати в тому, що nginx буде намагатися рівномірно розподіляти запити до трьох серверів HES, а відмовостійкість у тому, що при "падінні" якогось із серверів, користувачі будуть продовжувати користуватись сервером HES.
В такому разі, в доповнення до наших інструкцій до встановлення, потрібно зробити наступне:
В налаштуваннях сервера MySQL потрібно дозволити віддалене підключення користувачів. За замовчуванням, доступ до бази мають тільки локальні користувачі, тому у файлі налаштування MySQL /etc/mysql/mysql.conf.d/mysqld.cnf треба внести зміни - замість
потрібно зробити
(можна просто додати цей рядок до секції [mysqld], якщо його там немає).
Після перезавантаження сервера MySQL ви зможете мати до нього доступ з віддалених серверів HES.
При створенні користувача MySQL замість команди
слід використовувати
Це дасть змогу користувачу user
’ підключитись до бази з будь-якого комп'ютера.
При редагуванні файлу /opt/HES/appsettings.Production.json слід зробити наступне:
1) у рядку
127.0.0.1 потрібно змінити на ip Вашого серверу MySQL
appsettings.Production.json має бути однаковим, на всіх серверах!
Однак, якщо ви хочете візуально “бачити” який сервер зараз обробляє Ваші дані, то допускається невеликі відмінності в параметрах ServerFullName та ServerShortName.
2) за замовчуванням сервер HES отримує запити тільки з localhost, але оскільки проксі з nginx у нас може бути розміщений за іншою адресою, то потрібно дозволити доступ з інших адрес. Зробити це можна, додавши в /opt/HES/appsettings.Production.json наступні рядки, after "AllowedHosts": "*" add the following (via comma):
у файлі nginx.conf на сервері nginx, потрібно закоментувати рядок
та розкоментувати рядки:
Та ввівши відповідні ip-адреси своїх трьох серверів HES.
Звичайно необхідно також налаштувати правила фаєрволів. Зважайте на те, що MySQL зазвичай використовує TCP порт 3306 а HES порт TCP 5000.