增加 spring eureka 用例

This commit is contained in:
罗祥 2019-01-11 14:52:13 +08:00
parent cda5b6909a
commit abc6239b72
30 changed files with 326 additions and 11 deletions

View File

@ -66,18 +66,36 @@ spring-cloudFinchley.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 消息总线 | |
<br/>
## 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 目录下,文件目录如下:

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
pictures/eureka-8010.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
pictures/eureka-8020.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
pictures/eureka-8030.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
pictures/eureka-active.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
pictures/eureka.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -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)

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.heibaiying.eurekacluster</groupId>
<artifactId>eureka-client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka-client</name>
<description>eureka client project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
</project>

View File

@ -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);
}
}

View File

@ -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/

View File

@ -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() {
}
}

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.heibaiying.eurekacluster</groupId>
<artifactId>eureka-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka-server</name>
<description>eureka server project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
</project>

View File

@ -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);
}
}

View File

@ -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/

View File

@ -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/

View File

@ -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/

View File

@ -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() {
}
}

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.heibaiying</groupId>
<artifactId>eureka-cluster</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka-cluster</name>
<description>eureka cluster project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

View File

@ -16,7 +16,7 @@
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.RC2</spring-cloud.version>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
<dependencies>

View File

@ -16,7 +16,7 @@
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.RC2</spring-cloud.version>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
<dependencies>

View File

@ -2,6 +2,8 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>