diff --git a/README.md b/README.md
index 8d0820c..173cbda 100644
--- a/README.md
+++ b/README.md
@@ -5,6 +5,7 @@ Spring cloud使用的各种示例,以最简单、最实用为标准
- [spring-cloud-eureka](https://github.com/ityouknow/spring-cloud-starter/tree/master/spring-cloud-eureka):eureka server单机、双机、集群示例
- [service-producer-consumer](https://github.com/ityouknow/spring-cloud-starter/tree/master/service-producer-consumer):利用eureka实现服务提供与调用demo
+- [spring-cloud-hystrix](https://github.com/ityouknow/spring-cloud-starter/tree/master/spring-cloud-hystrix):Hystrix熔断的使用
@@ -15,6 +16,7 @@ Spring cloud使用的各种示例,以最简单、最实用为标准
- [springcloud(一):大话Spring Cloud](http://www.ityouknow.com/springcloud/2017/05/01/simple-springcloud.html)
- [springcloud(二):注册中心Eureka](http://www.ityouknow.com/springcloud/2017/05/10/springcloud-eureka.html)
- [springcloud(三):服务提供与调用](http://www.ityouknow.com/springcloud/2017/05/12/service-provider-constomer.html)
+- [springcloud(四):熔断器Hystrix](http://www.ityouknow.com/springcloud/2017/05/16/springcloud-hystrix.html)
> 如果大家想了解关于springbcloud的其它方面应用,也可以以issues的形式反馈给我,我后续来完善。
diff --git a/spring-cloud-hystrix/spring-cloud-consumer/pom.xml b/spring-cloud-hystrix/spring-cloud-consumer/pom.xml
new file mode 100644
index 0000000..4752a64
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-consumer/pom.xml
@@ -0,0 +1,70 @@
+
+
+ 4.0.0
+
+ com.neo
+ spring-cloud-consumer
+ 0.0.1-SNAPSHOT
+ jar
+
+ spring-cloud-consumer
+ Demo project for Spring cloud consumer
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 1.5.3.RELEASE
+
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+ Dalston.RELEASE
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-feign
+
+
+ org.springframework.cloud
+ spring-cloud-starter-eureka
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
+
diff --git a/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/ConsumerApplication.java b/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/ConsumerApplication.java
new file mode 100644
index 0000000..41a3da9
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/ConsumerApplication.java
@@ -0,0 +1,20 @@
+package com.neo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+import org.springframework.cloud.netflix.feign.EnableFeignClients;
+
+@SpringBootApplication
+@EnableDiscoveryClient
+@EnableFeignClients
+public class ConsumerApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ConsumerApplication.class, args);
+ }
+
+
+
+}
diff --git a/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/controller/ConsumerController.java b/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/controller/ConsumerController.java
new file mode 100644
index 0000000..6b4b2dc
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/controller/ConsumerController.java
@@ -0,0 +1,20 @@
+package com.neo.controller;
+
+import com.neo.remote.HelloRemote;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class ConsumerController {
+
+ @Autowired
+ HelloRemote HelloRemote;
+
+ @RequestMapping("/hello/{name}")
+ public String index(@PathVariable("name") String name) {
+ return HelloRemote.hello(name);
+ }
+
+}
\ No newline at end of file
diff --git a/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/remote/HelloRemote.java b/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/remote/HelloRemote.java
new file mode 100644
index 0000000..3d64410
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/remote/HelloRemote.java
@@ -0,0 +1,16 @@
+package com.neo.remote;
+
+import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * Created by summer on 2017/5/11.
+ */
+@FeignClient(name= "spring-cloud-producer", fallback = HelloRemoteHystrix.class)
+public interface HelloRemote {
+
+ @RequestMapping(value = "/hello")
+ public String hello(@RequestParam(value = "name") String name);
+
+}
diff --git a/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/remote/HelloRemoteHystrix.java b/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/remote/HelloRemoteHystrix.java
new file mode 100644
index 0000000..973a4f3
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-consumer/src/main/java/com/neo/remote/HelloRemoteHystrix.java
@@ -0,0 +1,17 @@
+package com.neo.remote;
+
+import com.neo.remote.HelloRemote;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * Created by summer on 2017/5/15.
+ */
+@Component
+public class HelloRemoteHystrix implements HelloRemote{
+
+ @Override
+ public String hello(@RequestParam(value = "name") String name) {
+ return "hello " +name+", this messge send failed ";
+ }
+}
diff --git a/spring-cloud-hystrix/spring-cloud-consumer/src/main/resources/application.properties b/spring-cloud-hystrix/spring-cloud-consumer/src/main/resources/application.properties
new file mode 100644
index 0000000..921b77b
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-consumer/src/main/resources/application.properties
@@ -0,0 +1,5 @@
+spring.application.name=spring-cloud-consumer
+server.port=9001
+feign.hystrix.enabled=true
+eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
+
diff --git a/spring-cloud-hystrix/spring-cloud-consumer/src/test/java/com/neo/ProducerApplicationTests.java b/spring-cloud-hystrix/spring-cloud-consumer/src/test/java/com/neo/ProducerApplicationTests.java
new file mode 100644
index 0000000..677161e
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-consumer/src/test/java/com/neo/ProducerApplicationTests.java
@@ -0,0 +1,16 @@
+package com.neo;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class ProducerApplicationTests {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud-hystrix/spring-cloud-eureka/pom.xml b/spring-cloud-hystrix/spring-cloud-eureka/pom.xml
new file mode 100644
index 0000000..23d7a60
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-eureka/pom.xml
@@ -0,0 +1,66 @@
+
+
+ 4.0.0
+
+ com.neo
+ spring-cloud-eureka
+ 0.0.1-SNAPSHOT
+ jar
+
+ spring-cloud-eureka
+ Demo project for Spring cloud eureka
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 1.5.3.RELEASE
+
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+ Dalston.RELEASE
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter
+
+
+ org.springframework.cloud
+ spring-cloud-starter-eureka-server
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
+
diff --git a/spring-cloud-hystrix/spring-cloud-eureka/src/main/java/com/neo/SpringCloudEurekaApplication.java b/spring-cloud-hystrix/spring-cloud-eureka/src/main/java/com/neo/SpringCloudEurekaApplication.java
new file mode 100644
index 0000000..5d47795
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-eureka/src/main/java/com/neo/SpringCloudEurekaApplication.java
@@ -0,0 +1,14 @@
+package com.neo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
+
+@SpringBootApplication
+@EnableEurekaServer
+public class SpringCloudEurekaApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringCloudEurekaApplication.class, args);
+ }
+}
diff --git a/spring-cloud-hystrix/spring-cloud-eureka/src/main/resources/application.properties b/spring-cloud-hystrix/spring-cloud-eureka/src/main/resources/application.properties
new file mode 100644
index 0000000..124b09d
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-eureka/src/main/resources/application.properties
@@ -0,0 +1,8 @@
+spring.application.name=spring-cloud-eureka
+
+server.port=8000
+eureka.client.register-with-eureka=false
+eureka.client.fetch-registry=false
+
+eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
+
diff --git a/spring-cloud-hystrix/spring-cloud-eureka/src/test/java/com/neo/SpringCloudEurekaApplicationTests.java b/spring-cloud-hystrix/spring-cloud-eureka/src/test/java/com/neo/SpringCloudEurekaApplicationTests.java
new file mode 100644
index 0000000..d536a6b
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-eureka/src/test/java/com/neo/SpringCloudEurekaApplicationTests.java
@@ -0,0 +1,16 @@
+package com.neo;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SpringCloudEurekaApplicationTests {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
diff --git a/spring-cloud-hystrix/spring-cloud-producer/pom.xml b/spring-cloud-hystrix/spring-cloud-producer/pom.xml
new file mode 100644
index 0000000..be43088
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-producer/pom.xml
@@ -0,0 +1,66 @@
+
+
+ 4.0.0
+
+ com.neo
+ spring-cloud-producer
+ 0.0.1-SNAPSHOT
+ jar
+
+ spring-cloud-producer
+ Demo project for Spring cloud producer
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 1.5.3.RELEASE
+
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+ Dalston.RELEASE
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-eureka
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
+
diff --git a/spring-cloud-hystrix/spring-cloud-producer/src/main/java/com/neo/ProducerApplication.java b/spring-cloud-hystrix/spring-cloud-producer/src/main/java/com/neo/ProducerApplication.java
new file mode 100644
index 0000000..d6275cd
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-producer/src/main/java/com/neo/ProducerApplication.java
@@ -0,0 +1,14 @@
+package com.neo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+
+@SpringBootApplication
+@EnableDiscoveryClient
+public class ProducerApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ProducerApplication.class, args);
+ }
+}
diff --git a/spring-cloud-hystrix/spring-cloud-producer/src/main/java/com/neo/controller/HelloController.java b/spring-cloud-hystrix/spring-cloud-producer/src/main/java/com/neo/controller/HelloController.java
new file mode 100644
index 0000000..ba93702
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-producer/src/main/java/com/neo/controller/HelloController.java
@@ -0,0 +1,14 @@
+package com.neo.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class HelloController {
+
+ @RequestMapping("/hello")
+ public String index(@RequestParam String name) {
+ return "hello "+name+",this is first messge";
+ }
+}
\ No newline at end of file
diff --git a/spring-cloud-hystrix/spring-cloud-producer/src/main/resources/application.properties b/spring-cloud-hystrix/spring-cloud-producer/src/main/resources/application.properties
new file mode 100644
index 0000000..7994abc
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-producer/src/main/resources/application.properties
@@ -0,0 +1,4 @@
+spring.application.name=spring-cloud-producer
+server.port=9000
+eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
+
diff --git a/spring-cloud-hystrix/spring-cloud-producer/src/test/java/com/neo/ProducerApplicationTests.java b/spring-cloud-hystrix/spring-cloud-producer/src/test/java/com/neo/ProducerApplicationTests.java
new file mode 100644
index 0000000..677161e
--- /dev/null
+++ b/spring-cloud-hystrix/spring-cloud-producer/src/test/java/com/neo/ProducerApplicationTests.java
@@ -0,0 +1,16 @@
+package com.neo;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class ProducerApplicationTests {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}