TCP запрос падает на Google cloud load balancer

Мы используем TCP Google Cloud Loadbalancer для одного из наших сервисов.

Архитектура следующая: Есть TCP балансировщик нагрузки, на котором разрешен ряд портов на frontend и его backend экземпляры подключены и там экземпляры сервисов работают на том же порту, который открыт на LB.

Например: LB IP -1.1.1.1:(100-200) т.е. диапазон портов открыт. Теперь на бэкенде запущено 3 инстанса и на них запущены службы на портах 100, 101 и 103.

Как пользователь, если вы хотите получить доступ к службе, работающей на порту 100, вы должны использовать LB IP:100 для доступа к службам. Но в последние несколько дней запрос отбрасывается. Однако если вы попытаетесь подключиться напрямую к экземпляру IP:100, служба будет работать нормально. Поэтому я не могу определить точную причину. Запросы также основаны на TCP, тогда почему LB отбрасывает их.

Пожалуйста, подскажите мне некоторые варианты. Примечание: Есть ли способ проверить журналы LB из GCloud или консоли ???

1
задан 18 February 2018 в 15:21
1 ответ

Публикация собственного ответа OP для лучшей наглядности:

Моя проблема была не из-за LB.

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

Я только что настроил еще один экземпляр в той же LB, и возникла проблема. решено.

Этот вид решения является самым «сырым» и не обеспечивает никакой отказоустойчивости. Если какой-либо сервер выйдет из строя, некоторые запросы будут удалены, а сервис будет понижен.

Самое простое решение избежать этого — создать группу управляемых экземпляров и использовать проверки работоспособности, чтобы проверить, все ли виртуальные машины запущены, а затем создать балансировщик нагрузки. .

0
ответ дан 15 December 2020 в 12:30

Теги

Похожие вопросы