Eureka 包含两个组件:Eureka Server 和 Eureka Client.
Eureka Server 提供服务注册,各个节点启动后,回在EurekaServer中进行注册,这样Eureka Server中的服务注册表中将会储存所有课用服务节点的信息,服务节点的信息可以在界面中直观的看到.
服务端 会向客户端 发送心跳
Eureka Client 是一个Java客户端,用于简化EurekaServer的交互,客户端同时也具备一个内置的,使用轮询负载算法的负载均衡器。在应用启动后,将会向EurekaServer发送心跳 (默认周期为30秒) 。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除掉 (默认周期为90s).
服务端 使用:
1、在Eureka Mudole中pom导依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
2、application.yml 配置
server:
port: 7001
#Eureka配置
eureka:
instance:
# Eureka服务端的实例名字
hostname: localhost
client:
# 表示是否向 Eureka 注册中心注册自己(这个模块本身是服务器,所以不需要)
register-with-eureka: false
# fetch-registry如果为false,则表示自己为注册中心,客户端的化为 ture
fetch-registry: false
# Eureka监控页面~
service-url:
defaultZone: http://${
eureka.instance.hostname}:${
server.port}/eureka/
3、主启动类 添加 @EnableEurekaServer 注解
@SpringBootApplication
@EnableEurekaServer
public class EurekaServer_7001 {
public static void main(String[] args) {
SpringApplication.run(EurekaServer_7001.class,args);
}
}
客户端使用:
1、在客户端pom中导入Eureka依赖
2、application中配置Eureka
server:
port: 8001
spring:
#应用名称
application:
name: springcloud_provider-dept-8001 #在Eureka页面的 application处显示的服务名字
#连接池配置
datasource:
hikari:
connection-test-query: SELECT 1
max-lifetime: 30000
maximum-pool-size: 10
minimum-idle: 3
max-idle: 10
max-wait: 10000
#SQL
password: QingHong123!@#
url: jdbc:mysql://39.98.138.165:3306/officeweb?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username: root
#开启热更新
devtools:
restart:
enabled: true
#freemarker缓存
freemarker:
cache: false
# Eureka配置:配置服务注册中心地址
eureka:
client:
service-url:
defaultZone: http://localhost:7001/eureka/
instance:
instance-id: springcloud-dept-8001 #修改Eureka监控也上 status 默认信息
3、主启动类添加注解 @EnableEurekaClient