如何在 spring 集成中进行客户端负载平衡

how to do client side load balancing in spring integration

我们可以通过

在 spring 引导应用程序中添加客户端负载平衡
@Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        final RestTemplate restTemplate = new RestTemplate();
        return restTemplate;
    }

这也会处理微服务解析。 IE。通过 URL 识别服务,例如“http://service_name/api/v1/endpoint/”。

在Spring集成中是否有类似的名称解析机制?

查看此构造函数以获取 Spring 集成 HTTP 出站通道适配器:

/**
 * Create a handler that will send requests to the provided URI using a provided RestTemplate
 * @param uri The URI.
 * @param restTemplate The rest template.
 */
public HttpRequestExecutingMessageHandler(String uri, RestTemplate restTemplate) {

因此,当您配置 @ServiceActivator(Java DSL 中的 handle())时,您只需注入负载平衡的 RestTemplate,一切都会按预期工作。