Балансировщик нагрузки Spring Cloud Ribbon на стороне клиента - PullRequest
2 голосов
/ 26 мая 2020

У меня вопрос по балансировке нагрузки в рамках Spring и Ribbon.

У меня архитектура микросервисов с несколькими службами. Скажем, службы: A, B, C и D. Все службы развернуты в облаке. Перед службами остается LB, который пересылает запросы соответствующей службе.

Все службы реализованы в Spring Boot. Для каждой службы создается Docker образов. Каждая служба контейнерна. В моей локальной настройке я могу запустить все свои службы в моем локальном кластере кубернетов. Например:

kubectl get deployment

приведет к:

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
A                        1/1        1            1        9h
B                        2/2        2            2        59m
C                        1/1        1            1        9h
....

Запуск в K8S служба B может получить доступ к службе A, C или любой другой службе в пространстве имен с помощью:

 public String getResponseFromService() {
    return this.restTemplate.getForObject("http://service-a:8080/deals", String.class);
}

Если у меня N экземпляров службы A, по умолчанию активируется правило циклического перебора, и каждый раз, когда узел B вызывает службу A, выбирается случайный сервер.

Вопрос. означают, что k8s сам действует как балансировщик нагрузки и перенаправляет запросы, поступающие от узла B, на службу A к одному из экземпляров?

Если вышесказанное верно, зачем мне вообще нужен ленточный клиент LB. Я знаю, что он использует клиент обнаружения для проверки с помощью k8s, которые являются зарегистрированными службами в реестре служб, но если меня не интересует реестр, нужна ли мне вообще лента?

Мне нужно несколько экземпляров для каждой службы и связь между службами через одну конечную точку (как в примере выше).

Извините за вопрос, но я новичок в Spring Cloud Kubernete. Я много читаю, но до сих пор не могу понять эту часть.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...