diff --git a/README.md b/README.md
index 94986a0..500a84b 100644
--- a/README.md
+++ b/README.md
@@ -66,18 +66,36 @@ spring-cloud:Finchley.SR2
## 3. spring-cloud samples
-| samples | 描述 | 官方文档 |
-| -------------------------- | --------------------------------- | ------------------------------------------------------------ |
-| spring-cloud-Eureka | spring cloud 服务的注册和发现 | [Service Discovery: Eureka Clients](https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.1.0.RC3/single/spring-cloud-netflix.html#_service_discovery_eureka_clients) |
-| spring-cloud-OpenFeign | spring cloud 服务间通信 | [Spring Cloud OpenFeign 官方文档](https://spring.io/projects/spring-cloud-openfeign#learn) |
-| spring-cloud-config | spring cloud 统一配置中心 | [Spring Cloud Config](https://spring.io/projects/spring-cloud-config#learn) |
-| spring-cloud-stream | spring cloud 对消息服务的抽象整合 | [spring-cloud-stream官方文档](https://cloud.spring.io/spring-cloud-stream/) |
-| spring-cloud-zuul | spring cloud 网关限流、权限验证 | [Router and Filter: Zuul](http://projects.spring.io/spring-cloud/spring-cloud.html#_router_and_filter_zuul) |
-| spring-cloud-sleuth-Zipkin | spring cloud 服务追踪 | [Spring Cloud Sleuth](https://spring.io/projects/spring-cloud-sleuth#learn) |
+| samples | 描述 | 官方文档 |
+| --------------------------- | --------------------------------- | ------------------------------------------------------------ |
+| spring-cloud-Eureka | 服务的注册和发现 | [Service Discovery: Eureka Clients](https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.1.0.RC3/single/spring-cloud-netflix.html#_service_discovery_eureka_clients) |
+| spring-cloud-Eureka-cluster | eureka 高可用集群搭建 | |
+| spring-cloud-Ribbon | 客户端负载均衡 | |
+| spring-cloud-OpenFeign | 声明式服务调用 | [Spring Cloud OpenFeign 官方文档](https://spring.io/projects/spring-cloud-openfeign#learn) |
+| spring-cloud-Hystrix | 服务容错与降级保护 | |
+| spring-cloud-config | 分布式配置中心 | [Spring Cloud Config](https://spring.io/projects/spring-cloud-config#learn) |
+| spring-cloud-stream | spring cloud 对消息服务的抽象整合 | [spring-cloud-stream官方文档](https://cloud.spring.io/spring-cloud-stream/) |
+| spring-cloud-zuul | spring cloud 网关服务 | [Router and Filter: Zuul](http://projects.spring.io/spring-cloud/spring-cloud.html#_router_and_filter_zuul) |
+| spring-cloud-sleuth-Zipkin | 分布式服务追踪 | [Spring Cloud Sleuth](https://spring.io/projects/spring-cloud-sleuth#learn) |
+| spring-cloud-config | 分布式配置中心 | [Spring Cloud Config](https://spring.io/projects/spring-cloud-config#learn) |
+| spring-cloud -bus | spring cloud 消息总线 | |
-## 4.参考资料
+## 4.分布式session和分布式事务
+
+| 描述 | sample | 官方文档 |
+| ---------------------------------------- | ---------------------------- | ------------------------------------------------------------ |
+| 分布式session解决方案(一) | spring session | [spring session](https://spring.io/projects/spring-session#learn) |
+| 分布式session 解决方案(二) | spring boot + spring session | |
+| 分布式session 解决方案(三) | memcached-session-manager | |
+| 分布式事务解决方案(一)——JPA | 待补充 | |
+| 分布式事务解决方案(二)——Spring事务同步 | 待补充 | |
+| 分布式事务解决方案(三)——链式事务 | 待补充 | |
+
+
+
+## 5.参考资料
相关参考文档放在了仓库的referenced documents 目录下,文件目录如下:
diff --git a/pictures/client-noconfig.png b/pictures/client-noconfig.png
new file mode 100644
index 0000000..c04317e
Binary files /dev/null and b/pictures/client-noconfig.png differ
diff --git a/pictures/eureka-8010.png b/pictures/eureka-8010.png
new file mode 100644
index 0000000..2c3d629
Binary files /dev/null and b/pictures/eureka-8010.png differ
diff --git a/pictures/eureka-8020.png b/pictures/eureka-8020.png
new file mode 100644
index 0000000..3b7e61b
Binary files /dev/null and b/pictures/eureka-8020.png differ
diff --git a/pictures/eureka-8030.png b/pictures/eureka-8030.png
new file mode 100644
index 0000000..7c07f57
Binary files /dev/null and b/pictures/eureka-8030.png differ
diff --git a/pictures/eureka-active.png b/pictures/eureka-active.png
new file mode 100644
index 0000000..d43d5de
Binary files /dev/null and b/pictures/eureka-active.png differ
diff --git a/pictures/eureka.png b/pictures/eureka.png
new file mode 100644
index 0000000..88baefc
Binary files /dev/null and b/pictures/eureka.png differ
diff --git a/spring-cloud/spring-cloud-eureka-cluster/README.md b/spring-cloud/spring-cloud-eureka-cluster/README.md
new file mode 100644
index 0000000..db849a0
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/README.md
@@ -0,0 +1,3 @@
+2019-01-11 11:16:14.320 INFO 13496 --- [nio-8010-exec-4] c.n.e.registry.AbstractInstanceRegistry : Registered instance SERVER/DESKTOP-8JGSFLJ:server:8010 with status UP (replication=true)
+2019-01-11 11:16:15.084 INFO 13496 --- [ Thread-41] c.n.e.registry.AbstractInstanceRegistry : Registered instance SERVER/DESKTOP-8JGSFLJ:server:8020 with status UP (replication=true)
+2019-01-11 11:16:15.085 INFO 13496 --- [ Thread-41] c.n.e.registry.AbstractInstanceRegistry : Registered instance SERVER/DESKTOP-8JGSFLJ:server:8030 with status UP (replication=true)
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-client/pom.xml b/spring-cloud/spring-cloud-eureka-cluster/eureka-client/pom.xml
new file mode 100644
index 0000000..2319a65
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-client/pom.xml
@@ -0,0 +1,69 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.1.RELEASE
+
+
+ com.heibaiying.eurekacluster
+ eureka-client
+ 0.0.1-SNAPSHOT
+ eureka-client
+ eureka client project for Spring Boot
+
+
+ 1.8
+ Finchley.SR2
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-eureka-client
+
+
+
+ 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
+
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+
+
+
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-client/src/main/java/com/heibaiying/eurekacluster/client/EurekaClientApplication.java b/spring-cloud/spring-cloud-eureka-cluster/eureka-client/src/main/java/com/heibaiying/eurekacluster/client/EurekaClientApplication.java
new file mode 100644
index 0000000..7120e9f
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-client/src/main/java/com/heibaiying/eurekacluster/client/EurekaClientApplication.java
@@ -0,0 +1,16 @@
+package com.heibaiying.eurekacluster.client;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+
+@SpringBootApplication
+@EnableDiscoveryClient
+public class EurekaClientApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(EurekaClientApplication.class, args);
+ }
+
+}
+
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-client/src/main/resources/application.yml b/spring-cloud/spring-cloud-eureka-cluster/eureka-client/src/main/resources/application.yml
new file mode 100644
index 0000000..eb0639f
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-client/src/main/resources/application.yml
@@ -0,0 +1,11 @@
+server:
+ port: 8040
+# 指定服务命名
+spring:
+ application:
+ name: eureka-client
+# 指定注册中心地址
+eureka:
+ client:
+ serviceUrl:
+ defaultZone: http://127.0.0.1:8010/eureka/,http://localhost:8020/eureka/,http://192.168.200.228:8030/eureka/
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-client/src/test/java/com/heibaiying/eurekacluster/client/EurekaClientApplicationTests.java b/spring-cloud/spring-cloud-eureka-cluster/eureka-client/src/test/java/com/heibaiying/eurekacluster/client/EurekaClientApplicationTests.java
new file mode 100644
index 0000000..d152e17
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-client/src/test/java/com/heibaiying/eurekacluster/client/EurekaClientApplicationTests.java
@@ -0,0 +1,17 @@
+package com.heibaiying.eurekacluster.client;
+
+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 EurekaClientApplicationTests {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
+
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-server/pom.xml b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/pom.xml
new file mode 100644
index 0000000..eac1f28
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/pom.xml
@@ -0,0 +1,64 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.1.RELEASE
+
+
+ com.heibaiying.eurekacluster
+ eureka-server
+ 0.0.1-SNAPSHOT
+ eureka-server
+ eureka server project for Spring Boot
+
+
+ 1.8
+ Finchley.SR2
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-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
+
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+
+
+
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/java/com/heibaiying/eurekacluster/server/EurekaServerApplication.java b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/java/com/heibaiying/eurekacluster/server/EurekaServerApplication.java
new file mode 100644
index 0000000..f681079
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/java/com/heibaiying/eurekacluster/server/EurekaServerApplication.java
@@ -0,0 +1,16 @@
+package com.heibaiying.eurekacluster.server;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
+
+@SpringBootApplication
+@EnableEurekaServer
+public class EurekaServerApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(EurekaServerApplication.class, args);
+ }
+
+}
+
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/resources/application-01.yml b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/resources/application-01.yml
new file mode 100644
index 0000000..aed3b66
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/resources/application-01.yml
@@ -0,0 +1,14 @@
+spring:
+ application:
+ name: server
+server:
+ port: 8010
+eureka:
+ server:
+ # 关闭自我保护机制 开发的时候可以开启 保证不可用的服务能够及时剔除
+ enable-self-preservation: false
+ instance:
+ hostname: 127.0.0.1
+ client:
+ serviceUrl:
+ defaultZone: http://localhost:8020/eureka/,http://192.168.200.228:8030/eureka/
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/resources/application-02.yml b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/resources/application-02.yml
new file mode 100644
index 0000000..63d4de8
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/resources/application-02.yml
@@ -0,0 +1,14 @@
+spring:
+ application:
+ name: server
+server:
+ port: 8020
+eureka:
+ server:
+ # 关闭自我保护机制 开发的时候可以开启 保证不可用的服务能够及时剔除
+ enable-self-preservation: false
+ instance:
+ hostname: localhost
+ client:
+ serviceUrl:
+ defaultZone: http://127.0.0.1:8010/eureka/,http://192.168.200.228:8030/eureka/
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/resources/application-03.yml b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/resources/application-03.yml
new file mode 100644
index 0000000..9988890
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/main/resources/application-03.yml
@@ -0,0 +1,14 @@
+spring:
+ application:
+ name: server
+server:
+ port: 8030
+eureka:
+ server:
+ # 关闭自我保护机制 开发的时候可以开启 保证不可用的服务能够及时从列表中剔除
+ enable-self-preservation: false
+ instance:
+ hostname: 192.168.200.228
+ client:
+ serviceUrl:
+ defaultZone: http://127.0.0.1:8010/eureka/,http://localhost:8020/eureka/
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/test/java/com/heibaiying/eurekacluster/server/EurekaServerApplicationTests.java b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/test/java/com/heibaiying/eurekacluster/server/EurekaServerApplicationTests.java
new file mode 100644
index 0000000..3c958d2
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/eureka-server/src/test/java/com/heibaiying/eurekacluster/server/EurekaServerApplicationTests.java
@@ -0,0 +1,17 @@
+package com.heibaiying.eurekacluster.server;
+
+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 EurekaServerApplicationTests {
+
+ @Test
+ public void contextLoads() {
+ }
+
+}
+
diff --git a/spring-cloud/spring-cloud-eureka-cluster/pom.xml b/spring-cloud/spring-cloud-eureka-cluster/pom.xml
new file mode 100644
index 0000000..d0777e2
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-cluster/pom.xml
@@ -0,0 +1,40 @@
+
+
+ 4.0.0
+ pom
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.1.RELEASE
+
+
+ com.heibaiying
+ eureka-cluster
+ 0.0.1-SNAPSHOT
+ eureka-cluster
+ eureka cluster project for Spring Boot
+
+
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/spring-cloud/spring-cloud-eureka/README.md b/spring-cloud/spring-cloud-eureka/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/spring-cloud/eureka/eureka-client/pom.xml b/spring-cloud/spring-cloud-eureka/eureka-client/pom.xml
similarity index 97%
rename from spring-cloud/eureka/eureka-client/pom.xml
rename to spring-cloud/spring-cloud-eureka/eureka-client/pom.xml
index b831943..97548eb 100644
--- a/spring-cloud/eureka/eureka-client/pom.xml
+++ b/spring-cloud/spring-cloud-eureka/eureka-client/pom.xml
@@ -16,7 +16,7 @@
1.8
- Greenwich.RC2
+ Finchley.SR2
diff --git a/spring-cloud/eureka/eureka-client/src/main/java/com/heibaiying/eurekaclient/EurekaClientApplication.java b/spring-cloud/spring-cloud-eureka/eureka-client/src/main/java/com/heibaiying/eurekaclient/EurekaClientApplication.java
similarity index 100%
rename from spring-cloud/eureka/eureka-client/src/main/java/com/heibaiying/eurekaclient/EurekaClientApplication.java
rename to spring-cloud/spring-cloud-eureka/eureka-client/src/main/java/com/heibaiying/eurekaclient/EurekaClientApplication.java
diff --git a/spring-cloud/eureka/eureka-client/src/main/java/com/heibaiying/eurekaclient/controller/InfoController.java b/spring-cloud/spring-cloud-eureka/eureka-client/src/main/java/com/heibaiying/eurekaclient/controller/InfoController.java
similarity index 100%
rename from spring-cloud/eureka/eureka-client/src/main/java/com/heibaiying/eurekaclient/controller/InfoController.java
rename to spring-cloud/spring-cloud-eureka/eureka-client/src/main/java/com/heibaiying/eurekaclient/controller/InfoController.java
diff --git a/spring-cloud/eureka/eureka-client/src/main/resources/application.yml b/spring-cloud/spring-cloud-eureka/eureka-client/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/eureka/eureka-client/src/main/resources/application.yml
rename to spring-cloud/spring-cloud-eureka/eureka-client/src/main/resources/application.yml
diff --git a/spring-cloud/eureka/eureka-client/src/test/java/com/heibaiying/eurekaclient/EurekaClientApplicationTests.java b/spring-cloud/spring-cloud-eureka/eureka-client/src/test/java/com/heibaiying/eurekaclient/EurekaClientApplicationTests.java
similarity index 100%
rename from spring-cloud/eureka/eureka-client/src/test/java/com/heibaiying/eurekaclient/EurekaClientApplicationTests.java
rename to spring-cloud/spring-cloud-eureka/eureka-client/src/test/java/com/heibaiying/eurekaclient/EurekaClientApplicationTests.java
diff --git a/spring-cloud/eureka/eureka-server/pom.xml b/spring-cloud/spring-cloud-eureka/eureka-server/pom.xml
similarity index 96%
rename from spring-cloud/eureka/eureka-server/pom.xml
rename to spring-cloud/spring-cloud-eureka/eureka-server/pom.xml
index fc66e27..aee7002 100644
--- a/spring-cloud/eureka/eureka-server/pom.xml
+++ b/spring-cloud/spring-cloud-eureka/eureka-server/pom.xml
@@ -16,7 +16,7 @@
1.8
- Greenwich.RC2
+ Finchley.SR2
diff --git a/spring-cloud/eureka/eureka-server/src/main/java/com/heibaiying/eurekaserver/EurekaServerApplication.java b/spring-cloud/spring-cloud-eureka/eureka-server/src/main/java/com/heibaiying/eurekaserver/EurekaServerApplication.java
similarity index 100%
rename from spring-cloud/eureka/eureka-server/src/main/java/com/heibaiying/eurekaserver/EurekaServerApplication.java
rename to spring-cloud/spring-cloud-eureka/eureka-server/src/main/java/com/heibaiying/eurekaserver/EurekaServerApplication.java
diff --git a/spring-cloud/eureka/eureka-server/src/main/resources/application.yml b/spring-cloud/spring-cloud-eureka/eureka-server/src/main/resources/application.yml
similarity index 100%
rename from spring-cloud/eureka/eureka-server/src/main/resources/application.yml
rename to spring-cloud/spring-cloud-eureka/eureka-server/src/main/resources/application.yml
diff --git a/spring-cloud/eureka/eureka-server/src/test/java/com/heibaiying/eurekaserver/EurekaServerApplicationTests.java b/spring-cloud/spring-cloud-eureka/eureka-server/src/test/java/com/heibaiying/eurekaserver/EurekaServerApplicationTests.java
similarity index 100%
rename from spring-cloud/eureka/eureka-server/src/test/java/com/heibaiying/eurekaserver/EurekaServerApplicationTests.java
rename to spring-cloud/spring-cloud-eureka/eureka-server/src/test/java/com/heibaiying/eurekaserver/EurekaServerApplicationTests.java
diff --git a/spring-cloud/eureka/pom.xml b/spring-cloud/spring-cloud-eureka/pom.xml
similarity index 97%
rename from spring-cloud/eureka/pom.xml
rename to spring-cloud/spring-cloud-eureka/pom.xml
index a12681e..ab9788c 100644
--- a/spring-cloud/eureka/pom.xml
+++ b/spring-cloud/spring-cloud-eureka/pom.xml
@@ -2,6 +2,8 @@
4.0.0
+ pom
+
org.springframework.boot
spring-boot-starter-parent