创建一个单点的Eureka Server引入了
spring-cloud-starter-netflix-eureka-server
配置如下
server:
port: 10086
spring:
application:
#服务名
name: itcast-eureka-server
eureka:
client:
service-url:
defaultZone: http://localhost:${server.port}/eureka/
@SpringBootApplication
@EnableEurekaServer
public class ItcastEurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(ItcastEurekaServerApplication.class, args);
}
}
说一下该配置的详细意思吧,不然晕里糊涂的
# 设置是否将自己作为客户端注册到注册中心(缺省true)
# 这里为不需要(查看@EnableEurekaServer注解的源码,会发现它间接用到了@EnableDiscoveryClient)
eureka.client.register-with-eureka=true
我本来就想将自己(eureka-server)作为客户端注册到注册中心的,默认值又是true,所以就没有配置了,需要注册到的地址配为
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
这两配置的意思就是将自己注册给自己
但是!!!死活启动不了报错如下
2019-11-21 13:47:53.498 ERROR 7748 --- [ main] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://localhost:10086/eureka/}
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar:1.19.1]
at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) ~[jersey-client-1.19.1.jar:1.19.1]
at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27) ~[eureka-client-1.9.13.jar:1.9.13]
at com.sun.jersey.api.client.Client.handle(Client.java:652) ~[jersey-client-1.19.1.jar:1.19.1]。。。。。。
说是连接http://localhost:10086/eureka/ 拒绝!!!
网上查资料说
defaultZone: http://localhost:${server.port}/eureka/
说什么defaultZone驼峰啊 :号后面空一格啊等等 但是我的都对啊 结果还是启动错误,整得我怀疑我自己眼神儿是不是出了问题。
查资料看到一条配置,是否同步其他Server的列表数据
eureka.client.fetch-registry 我是单点的注册中心啊 肯定不需要了啊 如果需要的话
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
这个配置肯定不会是注册给我自己 而应该注册给别的注册中心以同步列表数据的 对吧
加上!!!
eureka.client.fetch-registry=false
再启动 成功!!!
在查找错误的过程中看到了很多其他的配置,记录一下
#是否开启自我保护模式,默认为true。
eureka.server.enable-self-preservation=true
#续期时间,即扫描失效服务的间隔时间(缺省为60*1000ms)
eureka.server.eviction-interval-timer-in-ms=10000
以上就是Eureka Server的配置