1、引入openfeign
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2、启动类添加
@EnableFeignClients
public class CustomerApplication
3、添加接口服务类,接口需要和提供接口的微服务的controller一致。
@Component
@FeignClient(name = "ORDER")//注册中心的名称
public interface OrderService {
/**
* @param userName
* @return
*/
@GetMapping("/order")
String getOrder(@RequestParam String userName);
}
// 这个是controller
@RestController
public class OrderController {
Logger logger = LoggerFactory.getLogger(OrderController.class);
@GetMapping("/order")
public String getOrder(@RequestParam String userName){
logger.info("订单");
return userName+"的订单";
}
}
4、修改controller,像使用方法一样调用远程服务
@Resource
private OrderService orderService;
@GetMapping("/customer")
public String getCustomer(){
String result = orderService.getOrder("cww");
return "Hello ,"+result;
}
5、超时设置及日志级别设置
feign:
client:
config:
default:
connectTimeout: 5000
readTimeout: 5000
loggerLevel: full
logging:
level:
com.example.customer.service: debug
6、负载
openfeign默认是调用LoadBalanced进行轮询负载,不需要设置。