Dubbo服务降级
一、简介
解决高并发的三把利器:降级、限流、缓存
(1) 什么是服务降级
服务降级,当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务有策略的降低服务级别,以释放服务器资源,保证核心任务的正常运行
(2) 服务降级方式
能够实现服务降级方式很多,常见的有如下几种情况:
- 部分服务暂停
- 全部服务暂停
- 随机拒绝服务
- 部分服务延迟
(3) 服务降级与Mock机制
Dubbo的服务降级采用的是mock机制。其具有两种降级处理方式:Mock Null降级处理,与Mock Class降级处理。
二、Mock Null服务降级处理06-consumer-mocknull
(1) 创建消费者工程
直接复制02-consumer-zk工程,并命名为06-consumer-mocknull
(2) 定义接口
(3) 修改pom文件
由于这里不再需要00-api工程了,所以在pom文件中将对00-api工程的依赖删除即可
(4) 修改spring-consumer.xml
(5) 修改消费者启动类
三、Mock Class服务降级处理06-consumer-mockclass
(1) 创建消费者工程
直接复制06-consumer-mocknull工程,并命名为06-consumer-mockclass
(2) 定义Mock Class
在业务接口所在的包中,本例为com.dubbo.service包,定义一个类,该类的命名需要满足以下规则:业务接口简单类名 + Mock
(4) 修改spring-consumer.xml
(5) 修改消费者启动类