浅谈springcloud入门-负载均衡OpenFeign
在Spring Cloud中,使用OpenFeign进行服务间调用时,可以通过定义一个接口并用@FeignClient
注解标注,来创建一个Feign客户端。Feign会自动处理服务间调用的负载均衡。
以下是一个使用OpenFeign的简单示例:
- 添加依赖到
pom.xml
:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
- 启动类上添加
@EnableFeignClients
注解:
@SpringBootApplication
@EnableFeignClients
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}
- 创建一个Feign客户端接口:
@FeignClient("provider-service") // 服务名
public interface ProviderClient {
@GetMapping("/greeting")
String greeting(@RequestParam(value = "name", defaultValue = "World") String name);
}
- 使用Feign客户端:
@RestController
public class ConsumerController {
@Autowired
private ProviderClient providerClient;
@GetMapping("/greeting")
public String greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
return providerClient.greeting(name);
}
}
在这个例子中,ProviderClient
是一个Feign客户端接口,用于定义对provider-service
服务的请求。当你调用greeting
方法时,OpenFeign会自动将请求负载均衡到provider-service
服务的多个实例上。
评论已关闭