提交 b14322a3 编写于 作者: C Calvin

#232 基于Hystrix的系统保护,Day3. 演示

上级 3d55bf8b
......@@ -200,6 +200,12 @@
</exclusion>
</exclusions>
</dependency>
<!-- only for hystrix dashboard -->
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-metrics-event-stream</artifactId>
<version>1.2.16</version>
</dependency>
<!-- CACHE begin -->
<dependency>
......
......@@ -50,6 +50,7 @@ public class DependencyResourceController {
* 备用的节点,永远返回正确结果。
*/
@RequestMapping(value = "/hystrix/resource/standby/{id}", method = RequestMethod.GET)
@ResponseBody
public UserDTO getUserOnStandby(@PathVariable("id") Long id) {
return handleRequest(id);
}
......
......@@ -26,12 +26,12 @@
</ul>
<h2>主要用户故事</h2>
<ul>
<li> 在默认的正常状态,访问依赖资源和Hystrix服务,返回正常结果。</li>
<li> 将资源状态切换为"超时",点击访问依赖资源,确认资源需要在10秒后才返回结果。</li>
<li> 点击访问Hystrix服务,2秒后超时,返回503。</li>
<li> 三次超时后满足条件进入短路状态,再次刷新服务,立刻返回503。</li>
<li> 10秒保护期内,所有刷新都立即返回503,不会进入真正服务调用。</li>
<li> 保护期过后,会放行一个请求,如果还是超时,则继续保持短路状态。</li>
<li> 在默认的正常状态,访问Hystrix服务和依赖资源和,均返回正常结果。</li>
<li> 将资源状态切换为"超时",点击依赖资源,需要在10秒后才返回结果。</li>
<li> 点击Hystrix服务,2秒后超时,返回503。</li>
<li> 三次超时后满足短路条件(60秒滚动窗口内起码有3个请求,50%失败),再次刷新服务,立即返回503。</li>
<li> 10秒短路保护期内,所有刷新都立即返回503,不会进入真正服务调用。</li>
<li> 保护期过后,会放行一个请求,如果还是超时,则继续保持短路状态。如果成功则重置所有计数器。</li>
</ul>
<h2>其他用户故事</h2>
......
......@@ -79,6 +79,16 @@
<servlet-name>RemoteContentServlet</servlet-name>
<url-pattern>/remote-content</url-pattern>
</servlet-mapping>
<!-- only for hystrix dashboard -->
<servlet>
<servlet-name>HystrixMetricsStreamServlet</servlet-name>
<servlet-class>com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HystrixMetricsStreamServlet</servlet-name>
<url-pattern>/hystrix/hystrix.stream</url-pattern>
</servlet-mapping>
<!-- Filter 定义 -->
<!-- Character Encoding filter -->
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册