Для простоты обсуждения можно предположить, что «облачная платформа», о которой я говорю, относится к Google Cloud или Amazon WS.
В настоящее время у меня есть веб-сервер, который в основном обрабатывает HTTP-запросы. Однако будут также функции в реальном времени (например, чат в реальном времени или потоковое видео), и эти функции обрабатываются через соединения на основе сокетов на другом сервере.
Чтобы уточнить, на самом деле дело немного сложнее: «HTTP-сервер» и «сервер сокетов» на самом деле состоят из нескольких серверов.
В настоящее время предполагается, что инфраструктура устроена таким образом, что все HTTP-запросы, поступающие на эти HTTP-серверы, будут проходить через балансировщик нагрузки и использовать один и тот же IP-адрес.
Предполагается, что соединение на основе сокетов имеет гораздо более высокую интенсивность входящих запросов, чем HTTP-запросы.
Теперь вот моя проблема: я не знаю, должны ли соединения на основе сокетов проходить через один и тот же балансировщик нагрузки или будут иметь другой балансировщик нагрузки, предполагая, что я использую
облачная платформа для всех моих серверов.
С одной стороны, очевидно, что использование одного балансировщика нагрузки снизит затраты (поскольку необходимо приобрести только один общедоступный IP-адрес), а балансировщик нагрузки, предоставляемый облачной платформой, имеет довольно хорошие характеристики, насколько мне известно. Однако, основываясь на моем исследовании, многие компании не только используют другой балансировщик нагрузки, но и фактически выполняют балансировку нагрузки с помощью своего собственного программного обеспечения, а не просто используют балансировщик нагрузки, предоставляемый облачным сервисом для соединений на основе сокетов, и только сокет. соединения на основе. Я не очень понимаю, какой аспект мне нужно учитывать, чтобы принять решение по этому вопросу.