爲什麼要使用Hystrix: 熔斷器Hystrix
1. pom依賴
<!-- eureka客戶端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!-- feign客戶端依賴 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2. 配置文件
eureka:
client:
serviceUrl:
defaultZone: http://127.0.0.1:6868/eureka/
instance:
prefer-ip-address: true # 跨域訪問
ribbon:
ConnectTimeout: 4000 #請求連接的超時時間,默認時間爲1秒
ReadTimeout: 4000 #請求處理的超時時間
feign:
hystrix:
enabled: true
3. 啓動類
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class FriendApplication {
public static void main(String[] args) {
SpringApplication.run(FriendApplication.class, args);
}
}
4. UserClient
@FeignClient(name ="tensquare-user",fallback = UserClientImpl.class)
public interface UserClient {
@PutMapping("/user/{userId}/{friendId}/{num}")
void updateFansAndFollower(@PathVariable ("userId")String userId,
@PathVariable("friendId") String friendId,@PathVariable("num") int num);
}
5. UserClientImpl
@Component
public class UserClientImpl implements UserClient {
@Override
public void updateFansAndFollower(String userId, String friendId, int num) {
System.out.println("lalallalalal");
}
}