Table of Contents |
---|
Экземпляры WCS на Google Cloud Platform поддерживают балансировку нагрузки при помощи TCP Network Load Balancer.
При этом WebSocket-соединения будут автоматически распределены между активными серверами в балансировщике нагрузки. В случае применения заданной политики масштабирования (если целевой показатель, например, загрузка процессора на сервере, достиг заданного значения) будут запущены новые экземпляры сервера и автоматически добавлены в балансировщик.
Для настройки необходимо создать следующие компоненты
- Образ диска, который будет использоваться в шаблоне при создании нового экземпляра
- Шаблон, на основе которого будут создаваться новые экземпляры сервера при масштабировании
- Группа масштабирования
- Балансировщик нагрузки
- Настройки контроля активности сервера
Рассмотрим пример развертывания CDN для доставки WebRTC потоков, состоящей из одного Origin и группы масштабирования Edge (от 1 до 3 экземпляров) с масштабированием по загрузке процессора.
...
1. Разверните Origin и Edge серверы, как описано здесь. Назначьте Origin серверу статический внутренний IP адрес. Зарезервируйте статический внешний IP адрес для балансировщика.
2. Настройте CDN на стороне Origin сервера
...
Code Block | ||
---|---|---|
| ||
http_enable_root_redirect=false |
5. Подготовьте и импортируйте SSL сертификаты на Origin и Edge серверы. Не рекомендуется использовать Let'sEncrypt, поскольку это приведет к необходимости обновлять образ диска Edge сервера каждые три месяца.
Создание образа диска Edge сервера
...
2. Перейдите в раздел "Compute Engine - Images", нажмите "Create image". Выберите в качестве диска-источника диск экземпляра Edge сервера и нажмите Create
После создания образа диска не удаляйте исходный экземпляр Edge сервера, он потребуется при изменении настроек.
Создание шаблона Edge сервера
...
4. Разверните пункт "Advanced creation options" и установите переключатель "Do not retry machine creation", затем нажмите "Create"
Группа масштабирования будет создана, и один экземпляр будет запущен
Создание балансировщика нагрузки
1. Перейдите в раздел "Network – Load balancers" и нажмите "Create load balancer". Выберите "TCP Load Balancing"
2. Выберите внешний балансировщик "From internet to my VMs" и регион расположения балансировщика
3. В разделе "Backend configuration", на вкладке "Select existing instance groups" выберите группу масштабирования Edge серверов и укажите привязку сессии к IP и протоколу клиента
4. Выберите "Create health check". Создайте настройку проверки сервера, укажите порт 8081 и запрос /
5. В разделе "Frontend configuration" создайте конфигурации для TCP портов 8081, 8080, 8443, 8444 для HTTP(S) и WS(S). Укажите статический внешний IP адрес для балансировщика
Вы можете добавить другие необходимые порты (1935 для RTMP подписчиков, 8082, 8445 для HLS и т.д в зависимости от сценария использования Edge серверов)
6. Нажмите "Create". Балансировщик нагрузки запустится
Тестирование балансировщика нагрузки
1. Войдите в веб интерфейс Origin сервера, опубликуйте поток test в примере Two Way Streaming
2. Войдите в веб-интерфейс Edge сервера, используя IP адрес балансировщика нагрузки. Проиграйте поток test в примере Player
Изменение настроек Edge серверов
Для того, чтобы изменить настройки Edge серверов в группе масштабирования, например, обновить SSL сертификаты, необходимо обновить образ диска Edge сервера следующим образом:
1. Отключите масштабирование и удалите все экземпляры Edge серверов в группе
2. Запустите исходных экземпляр Edge сервера
3. Внесите необходимые изменения в настройки (например. обновите SSL сертификаты)
4. Остановите исходный экземпляр Edge сервера
5. Удалите образ диска Edge сервера
6. Создайте новый образ диска Edge сервера с тем же именем образа (например test-edge-image-1)
7. Включите масштабирование в группе (настройки масштабирования при этом сохранятся)