Несколько каналов Spring gRPC в KubernetesJAVA

Программисты JAVA общаются здесь
Anonymous
Несколько каналов Spring gRPC в Kubernetes

Сообщение Anonymous »

Я ищу лучшие практики по реализации горизонтальной архитектуры с помощью последней версии Spring gRPC [1] в Kubernetes.
В моем кластере Kubernetes у меня есть один основной сервис, который подключается к нескольким так называемым рабочим сервисам через gRPC и балансировщик нагрузки. Однако при выполнении простого цикла for для отправки запросов работникам только один из них получает запросы.
Я спрашиваю конкретно, потому что, насколько я понимаю, канал gRPC может содержать несколько подключений (подканалов), но наш кластер Kubernetes распределяет запросы по другим модулям в соответствии с каналами, а не просто соединениями (подканалами) внутри них, т. е. балансировка L4, передача нагрузки gRPC Балансировка.
Таким образом, нужно ли мне настраивать пул каналов gRPC [2] вручную, как описано в недавней статье здесь: Реализация пула соединений в Java?
Или я могу просто переключиться на другую библиотеку, как описано в этой статье. Выбор правильной библиотеки grpc для Spring Boot?
Заранее спасибо за любые советы.
Изменить
Согласно этому ответу, что-то вроде этого может сработать. Хотя у меня тот же вопрос: Как настроить размер пула?

Код: Выделить всё

@Configuration
public class GrpcClientFactory {

@Bean
FooGrpc.FooBlockingStub fooBlockingStub() {
var channel =
ManagedChannelBuilder.forAddress("", 9090)
.executor(Executors.newCachedThreadPool())
.usePlaintext()
.build();

return FooGrpc.newBlockingStub(channel);
}
}
[1] Spring-grpc

[2] gRPC управляет производительностью

Вернуться в «JAVA»