Eureka提供服务的发现注册,心跳,健康检查功能。分布式的基础功能。采用的是客户端发现模式,Eureka Client需要每30秒给Eureka Server发一次心跳,同时更新Server上最新的注册信息到本地,如果Server多次没有收到来自客户端的心跳,那么在90秒内会被Server上剔除。
一. Eureka server
(1)pom文件
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
(2) application.yml
eureka:
client:
service-url:
#本身自带客户端,注册服务端地址,多台server端时互相注册,建议使用多台防止挂了
defaultZone: http://localhost:8001/eureka,http://localhost:8002/eureka
#表示是否将自己注册到Eureka Server,默认为true。由于当前应用就是Eureka Server,故而设置为false
register-with-eureka: false
# 表示是否从Eureka Server获取注册信息,默认是true.单点的时候设置为 false,不需要同步其他Eureka server节点的数据
#fetch-registry: false
server:
#开发环境可以关闭自我保护,不要出现告警
enable-self-preservation: false
spring:
application:
name: eureka
server:
port: 8003
(3)EurekaApplication.java 使用 @EnableEurekaServer,表示这个类为Eureka Server类
@EnableEurekaServer @SpringBootApplication public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } }
二。Eureka client
(1) pom.xml
<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>
(2) application.yml
ps: spring.application.name这个配置很重要,eureka可视化窗口上显示的就是这个名字,以后服务与服务之间相互调用一般都是根据这个name
eureka:
client:
service-url:
#注册服务端地址,多台server时,都注册
defaultZone: http://localhost:8761/eureka,http://localhost:8762/eureka,http://localhost:873/eureka
spring:
application:
name: springcloud-eureka-client
(3)ClientApplication.java 使用@EnableEurekaClient
@EnableEurekaClient @SpringBootApplication public class ClientApplication { public static void main(String[] args) { SpringApplication.run(ClientApplication.class, args); } }
访问Eureka server http://localhost:8003/,看到Eureka client已经注册上去了
三。 Eureka server一般有多台应用防止某台挂了
server端的该配置,配其他server端点的。client端配置所有server端点的
eureka:
client:
service-url:
#本身自带客户端,注册服务端地址,多台server端时互相注册,建议使用多台防止挂了
defaultZone: http://localhost:8761/eureka,http://localhost:8762/eureka
参考资料:
http://www.ityouknow.com/spring-cloud.html
https://www.cnblogs.com/haly/p/10756742.html