登烈建站,企业电子商务网站建设规划报告,个人建站如何赚钱,做网站鼎盛cloud是基础#xff0c;eureka是服务注册和发现#xff0c;consumer是消费者去消费provider里的东西#xff0c;消费方式就是Feign和Ribbon#xff0c;feign 接口消费#xff0c;ribbon Rest消费 服务降级发生在客户端#xff0c;客户端因为请求关闭的服务器#xff0…cloud是基础eureka是服务注册和发现consumer是消费者去消费provider里的东西消费方式就是Feign和Ribbonfeign 接口消费ribbon Rest消费 服务降级发生在客户端客户端因为请求关闭的服务器让他访问另一个降级服务
服务熔断发生在服务端服务器报异常了就会让请求走第二个服务
先写一个实现类
package com.kuang.springcloud.service;import com.kuang.springcloud.pojo.Dept;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;import java.util.List;
//降级
Component
public class DeptClientServiceFallbackFactory implements FallbackFactory {Overridepublic DeptClientService create(Throwable throwable) {return new DeptClientService() {Overridepublic Dept queryById(Long id) {return new Dept().setDeptno(id).setDname(这个Idid没有对应的信息,客户端提供了降级的信息这个服务现在已经被关闭).setDb_source(没有数据~);}Overridepublic ListDept queryAll() {return null;}Overridepublic String addDept(Dept dept) {return null;}};}
}在接口那里加一个注解 feign里 package com.kuang.springcloud.service;import com.kuang.springcloud.pojo.Dept;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;import java.util.List;Component
FeignClient(value SPRINGCLOUD-PROVIDER-DEPT,fallbackFactory DeptClientServiceFallbackFactory.class)
public interface DeptClientService {GetMapping(/dept/get/{id})Dept queryById(PathVariable(id) Long id);GetMapping(/dept/list)ListDept queryAll();PostMapping(/dept/add)String addDept(Dept dept);}在消费者fegin里的yml文件加上配置
server:port: 80#开启降级feign.hystrix
feign:hystrix:enabled: true#Eureka 配置
eureka:client:register-with-eureka: false #不向Eureka注册自己service-url:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/然后把服务器关了。
服务降级生效 就是当服务器在A爆满的时候需要关闭其他的服务器来去跑A的服务才能支撑但是别人访问C的时候你必须采用服务降级来让他知道服务器关闭了而不是直接抛个异常给他。