Spring Cloud之eureka(服务的注册和发现)
搭建服务的注册中心
创建一个基础的Spring Boot工程(eureka-server),引入相关必要的依赖
```xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
```
Actuator是Spring Boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator-docs</artifactId>
</dependency>
```
通过@EnableEurekaServer 注解启动一个服务注册中心

在application.yml添加如下配置:

eureka.client.register-with-eureka:由于该应用是注册中心,所有设置为false
eureka.client.fetch-registry:注册中心的职责是维护服务实例,不需要去检索,所以也是false
启动引用并访问http://localhost:8080/eureka 可以看到面板显示 现在注册中心是没有注册任何服务的

搭建服务的提供者
搭建一个简单的Spring Boot项目 添加如下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
通过@EnableDiscoveryClient或者@EnableEurekaClient`来完成注册

在application.yml添加如下配置

spring.application.name:为服务命名
eureka.client.serviceUrl.defaultZone:指定服务注册中心的地址
启动服务注册中心和服务的提供者(provider-first),这时控制面板显示

表示已经注册成功
其他配置
eureka.instance.prefer-ip.address:如果我们不想用主机名来定义注册中心的地址,也可以使用ip来展示,设置参数为true,默认是false
服务的注册中心添加管理员,引入相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
在application.yml添加如下配置:
security:
user:
name: hello
password: hello
修改注册中心地址
defaultZone: http://name:password@${eureka.instance.hostname}:${server.port}/eureka/
启动注册中心,会出现(输入账号和密码即可)
