创建一个单点的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的配置

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐