diff --git a/README.md b/README.md
index c31f676..88204d7 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,7 @@ spring-cloud-starter
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
diff --git a/service-producer-consumer/spring-cloud-consumer/pom.xml b/service-producer-consumer/spring-cloud-consumer/pom.xml
new file mode 100644
index 0000000..0d316ac
--- /dev/null
+++ b/service-producer-consumer/spring-cloud-consumer/pom.xml
@@ -0,0 +1,66 @@
+
+
+ 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.7
+ Dalston.RELEASE
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-feign
+
+
+ org.springframework.cloud
+ spring-cloud-starter-eureka
+
+
+ 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/service-producer-consumer/spring-cloud-consumer/src/main/java/com/neo/ConsumerApplication.java b/service-producer-consumer/spring-cloud-consumer/src/main/java/com/neo/ConsumerApplication.java
new file mode 100644
index 0000000..41a3da9
--- /dev/null
+++ b/service-producer-consumer/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/service-producer-consumer/spring-cloud-consumer/src/main/java/com/neo/controller/ConsumerController.java b/service-producer-consumer/spring-cloud-consumer/src/main/java/com/neo/controller/ConsumerController.java
new file mode 100644
index 0000000..9922329
--- /dev/null
+++ b/service-producer-consumer/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/service-producer-consumer/spring-cloud-consumer/src/main/java/com/neo/remote/HelloRemote.java b/service-producer-consumer/spring-cloud-consumer/src/main/java/com/neo/remote/HelloRemote.java
new file mode 100644
index 0000000..85a0db1
--- /dev/null
+++ b/service-producer-consumer/spring-cloud-consumer/src/main/java/com/neo/remote/HelloRemote.java
@@ -0,0 +1,19 @@
+package com.neo.remote;
+
+import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestBody;
+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")
+public interface HelloRemote {
+
+ @RequestMapping(value = "/hello")
+ public String hello(@RequestParam(value = "name") String name);
+
+
+}
diff --git a/service-producer-consumer/spring-cloud-consumer/src/main/resources/application.properties b/service-producer-consumer/spring-cloud-consumer/src/main/resources/application.properties
new file mode 100644
index 0000000..e193022
--- /dev/null
+++ b/service-producer-consumer/spring-cloud-consumer/src/main/resources/application.properties
@@ -0,0 +1,4 @@
+spring.application.name=spring-cloud-consumer
+server.port=9001
+eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
+
diff --git a/service-producer-consumer/spring-cloud-consumer/src/test/java/com/neo/ProducerApplicationTests.java b/service-producer-consumer/spring-cloud-consumer/src/test/java/com/neo/ProducerApplicationTests.java
new file mode 100644
index 0000000..677161e
--- /dev/null
+++ b/service-producer-consumer/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/service-producer-consumer/spring-cloud-eureka/pom.xml b/service-producer-consumer/spring-cloud-eureka/pom.xml
new file mode 100644
index 0000000..7585053
--- /dev/null
+++ b/service-producer-consumer/spring-cloud-eureka/pom.xml
@@ -0,0 +1,62 @@
+
+
+ 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.7
+ Dalston.RELEASE
+
+
+
+
+ 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/service-producer-consumer/spring-cloud-eureka/src/main/java/com/neo/SpringCloudEurekaApplication.java b/service-producer-consumer/spring-cloud-eureka/src/main/java/com/neo/SpringCloudEurekaApplication.java
new file mode 100644
index 0000000..5d47795
--- /dev/null
+++ b/service-producer-consumer/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/service-producer-consumer/spring-cloud-eureka/src/main/resources/application.properties b/service-producer-consumer/spring-cloud-eureka/src/main/resources/application.properties
new file mode 100644
index 0000000..83bed96
--- /dev/null
+++ b/service-producer-consumer/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/service-producer-consumer/spring-cloud-eureka/src/test/java/com/neo/SpringCloudEurekaApplicationTests.java b/service-producer-consumer/spring-cloud-eureka/src/test/java/com/neo/SpringCloudEurekaApplicationTests.java
new file mode 100644
index 0000000..d536a6b
--- /dev/null
+++ b/service-producer-consumer/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/service-producer-consumer/spring-cloud-producer/pom.xml b/service-producer-consumer/spring-cloud-producer/pom.xml
new file mode 100644
index 0000000..ee2be51
--- /dev/null
+++ b/service-producer-consumer/spring-cloud-producer/pom.xml
@@ -0,0 +1,62 @@
+
+
+ 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.7
+ Dalston.RELEASE
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-eureka
+
+
+ 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/service-producer-consumer/spring-cloud-producer/src/main/java/com/neo/ProducerApplication.java b/service-producer-consumer/spring-cloud-producer/src/main/java/com/neo/ProducerApplication.java
new file mode 100644
index 0000000..d6275cd
--- /dev/null
+++ b/service-producer-consumer/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/service-producer-consumer/spring-cloud-producer/src/main/java/com/neo/controller/HelloController.java b/service-producer-consumer/spring-cloud-producer/src/main/java/com/neo/controller/HelloController.java
new file mode 100644
index 0000000..6b54992
--- /dev/null
+++ b/service-producer-consumer/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/service-producer-consumer/spring-cloud-producer/src/main/resources/application.properties b/service-producer-consumer/spring-cloud-producer/src/main/resources/application.properties
new file mode 100644
index 0000000..2de4336
--- /dev/null
+++ b/service-producer-consumer/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/service-producer-consumer/spring-cloud-producer/src/test/java/com/neo/ProducerApplicationTests.java b/service-producer-consumer/spring-cloud-producer/src/test/java/com/neo/ProducerApplicationTests.java
new file mode 100644
index 0000000..677161e
--- /dev/null
+++ b/service-producer-consumer/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() {
+ }
+
+}