容错性设计(Design for Failure)是微服务的一个核心原则。由于某一个服务的崩溃,导致所有用到这个服务的其他服务都无法正常工作,一个点的错误经过层层通报,最终波及调用链上与此相关的所有服务,这便是雪崩效应。怎样防止雪崩效应便是微服务架构容错性设计原则的具体实现。
要落实容错性设计这条原则,除了从思想观念上转变过来,正视程序必然是会出错的,并对它进行有筹划的防御之外,还必须了解一些常用的容错策略和容错设计模式,作为具体设计与编码实践的指导。这里的容错策略指的是“面对故障,我们该做什么”。Sentinel 提供以下几种熔断策略。
loadMyFiles: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load({
name: 'sentinelDashboardApp',
files: [
'app/scripts/controllers/flow_v2.js',
]
});
}]
}
})
复制代码
将(com.alibaba.csp.sentinel.dashboard.test.rule.nacos)复制到 com.alibaba.csp.sentinel.dashboard.rule.nacos 目次下,即去掉 test 目次,如许是以内源码中 Nacos 等恒久化的配置都是在 test 中,打包 jar 的时候并不会打包进去,所以必要 copy 到主源码目次下。