Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
后端镜像
java镜像
Springside4
提交
b14322a3
S
Springside4
项目概览
后端镜像
/
java镜像
/
Springside4
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Springside4
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b14322a3
编写于
7月 05, 2013
作者:
C
Calvin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#232 基于Hystrix的系统保护,Day3. 演示
上级
3d55bf8b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
23 addition
and
6 deletion
+23
-6
examples/showcase/pom.xml
examples/showcase/pom.xml
+6
-0
examples/showcase/src/main/java/org/springside/examples/showcase/demos/hystrix/resource/DependencyResourceController.java
.../demos/hystrix/resource/DependencyResourceController.java
+1
-0
examples/showcase/src/main/webapp/WEB-INF/views/story/hystrix.jsp
.../showcase/src/main/webapp/WEB-INF/views/story/hystrix.jsp
+6
-6
examples/showcase/src/main/webapp/WEB-INF/web.xml
examples/showcase/src/main/webapp/WEB-INF/web.xml
+10
-0
未找到文件。
examples/showcase/pom.xml
浏览文件 @
b14322a3
...
...
@@ -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>
...
...
examples/showcase/src/main/java/org/springside/examples/showcase/demos/hystrix/resource/DependencyResourceController.java
浏览文件 @
b14322a3
...
...
@@ -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
);
}
...
...
examples/showcase/src/main/webapp/WEB-INF/views/story/hystrix.jsp
浏览文件 @
b14322a3
...
...
@@ -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>
...
...
examples/showcase/src/main/webapp/WEB-INF/web.xml
浏览文件 @
b14322a3
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录