Fork me on GitHub

SpringCloud———eureka服务端和客户端

SpringCloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。Eureka创建服务端以及客户端。在SpringBoot项目里创建eureka、provider-user、consumer-order三个SpringBoot项目。

服务端

pom依赖
1
2
3
4
5
6
7
8
9
10
<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-security</artifactId>
</dependency>
</dependencies>
application.yml
1
security.basic.enabled: false	#SpringBoot2.0后以无效,故在启动类上添加注解排除SpringSecurity验证功能。
1
2
3
4
5
6
7
8
9
10
11
12
13
server:
port: 10000
spring:
security:
user:
name: user
password: 123
eureka:
client:
register-with-eureka: false #防止向注册中心注册自己
fetch-registry: false #表示自己是注册中心,也就是服务端
service-url:
defaultZone: http://user:123@localhost:10000/eureka
启动类
1
2
3
4
5
6
7
8
9
10
11
12
13

@EnableAutoConfiguration(exclude = {
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
@EnableEurekaServer//将当前项目标记为eurekaserver
public class EurekaApp
{
public static void main(String[] args)
{
SpringApplication.run(EurekaApp.class,args);
}

}
访问

表示没有服务注册进来,显示No instances available。

客户端

pom依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.0.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
<!-- 加了以后报错-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-actuator</artifactId>-->
<!-- <version>2.0.3.RELEASE</version>-->
<!-- </dependency>-->
</dependencies>
application.yml
1
2
3
4
5
6
7
8
9
server:
port: 7900
spring:
application:
name: provider-user #用户名
eureka:
client:
service-url:
defaultZone: http://localhost:10000/eureka #表示要注册到的url
启动类
1
2
3
4
5
6
7
8
9
@SpringBootApplication
@EnableEurekaClient//启用eureka客户端
public class ProviderUser
{
public static void main(String[] args)
{
SpringApplication.run(ProviderUser.class,args);
}
}
访问


项目版本

SpringBoot:(v2.0.3.RELEASE)

SpringCloud:(v2.0.1.RELEASE)