Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务注册和发现功能。
Demo编写,Server端
引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
启动类中加注解
@SpringBootApplication
@EnableEurekaServer
public class EurkaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurkaServerApplication.class, args);
}
}
配置文件
#修改server port
server.port=10002
# 是否要注册到其他Eureka Server实例
eureka.client.register-with-eureka=false
# 是否要从其他Eureka Server实例获取数据
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://localhost:10002/eureka/
Demo编写,Client端,可以认为是提供者
引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
配置文件
#修改server port
server.port=10001
spring.application.name=eureka-client1
# 指定eureka server通信地址,注意/eureka/不能少
eureka.client.service-url.defaultZone=http://localhost:10002/eureka/
# 是否注册IP到eureka server,如不指定或设为false,那就会注册主机名到eureka server
eureka.instance.prefer-ip-address=true
测试
通过访问http://localhost:10002/可以观察到如下界面
这里我们其实是有注册一个提供者的,大家看到上图中有红色 字体的英文,这个是rureka的自我保护机制,不是异常,不是报错,但是如果想让这个不显示也是有方法的,就是禁用eureka的自我保护机制
#禁用eureka的自我保护机制,不推荐设置
#eureka.server.enable-self-preservation=false
修改服务名称
#修改服务名称
eureka.instance.instance-id=springboot-mybatis-provider-001-18080
添加actuator的info详细信息
添加依赖
<!--actuator依赖 主管监控跟信息配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
#不知道为什么读取不到$project.version$等
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimit>$</delimit>
</delimiters>
</configuration>
</plugin>
#build中添加
<finalName>springboot-mybatis-provider-001-18080</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
点击springboot-mybatis-provider-001-18080
效果如下:
网友评论