SpringCloud Feign 配置(基于Consul)
2021-07-08 14:08
标签:service cat 引入 int out col next strong boot 一.基础配置 1.引入依赖 2.创建主类,通过 @EnableFeginClients 注解开启 Feign 功能 3.定义AService接口,通过 @FeignClient 注解指定服务名来绑定服务, 然后使用SpringMVC 的注解来绑定具体该服务提供的 REST 接口 需要调用 AService 时,在类中使用 @Autowired 注解直接注入 AService 实例, 并调用 /hello 接口 二.参数绑定 三.Ribbon 配置 由于 Feign 的客户端负载均衡是通过 Ribbon 实现的, 所以可以通过配置 Ribbon 客户端的方式来自定义各个服务客户端调用的参数. 1.全局配置 全局配置直接使用 ribbon. 2.指定服务配置 大多数情况下, 服务调用的超时时间会根据实际服务的特性做一些调整, 所以需要指定服务配置 指定服务配置根据 3.重试机制 MaxAutoRetries 设置为1, 所以重试策略先尝试访问首选实例一次,失败后才会更换实例访问,而更换实例访问的次数通过 MaxAutoRetriesNextServer 参数设置为2, 所以会尝试更换两次实例进行重试. SpringCloud Feign 配置(基于Consul) 标签:service cat 引入 int out col next strong boot 原文地址:https://www.cnblogs.com/xiaoshouxing/p/9573887.html
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@FeignClient("aservice") //这里的服务名不区分大小写
public interface AService {
@PostMapping("/hello")
String hello();
}
@RestController
public class ConsumerController {
@Autowired
private AService aService;
@RequestMapping("/test")
public String test(){
return aService.hello();
}
}
@FeignClient("aservice")
public interface AService {
@RequestMapping("/hello1")
String hello1(@RequestParam("hello1") String hello1);
@RequestMapping("/hello2")
String hello2(@RequestHeader("hello2") String hello2) @RequestMapping("/hello3")
String hello2(@RequestBody User user)
}@RestController
public class BController{
@RequestMapping(value = "/hello1", method = RequestMethod.GET)
String hello1(@RequestParam String hello1){
return "hello";
}
@RequestMapping(value = "/hello2", method = RequestMethod.GET)
String hello2(@RequestHeader String hello2){
return "hello";
}
@RequestMapping(value = "/hello3", method = RequestMethod.POST)
String hello3(@RequestBody User user){
return "hello";
}
}ribbon.ReadTimeout=5000
ribbon.ConnectTimeout=500
aservice.ribbon.ReadTimeout=2000
aservice.ribbon.ConnectTimeout=500
ribbon.MaxAutoRetries=1
ribbon.MaxAutoRetriesNextServer=2
上一篇:Python全栈开发之路 【第十八篇】:Ajax技术
下一篇:webpack
文章标题:SpringCloud Feign 配置(基于Consul)
文章链接:http://soscw.com/essay/102395.html