SpringCloud_Eureka

Why Is It so Slow to Register a Service?

官方文档说明:实例注册到注册服务中心的时间很慢是因为,默认是持续30秒,在实例、服务端、客户端各自缓存相同的数据之前,客户端无法发现服务 (至少需要三次心跳才能达到要求)

1
2
可以通过设置:
eureka.instance.leaseRenewalIntervalInSeconds = 10

设置它的时间小于30秒即可,但是在实际生产环境中,最好不要使用。因为eureka服务端会根据这个注册的时间来估算租约期限。

When to Prefer IP Address

官方文档说明:在线上的时候最好使用IP代替主机名称注册,如果Java无法确定主机名称,将IP地址发给Eureka。

1
eureka.instance.preferIpAddress = true

Securing The Eureka Server

当我们在开发中使用spring-boot-starter-security的时候,它将要求在应用程序中的每个请求中发送有效的令牌,Eureka客户端通常不会拥有跨站点的伪造令牌,所以需要我们为/eureka/**端点禁用此要求。

1
2
3
4
5
6
7
8
9
@EnableWebSecurity
class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().ignoringAntMatchers("/eureka/**");
super.configure(http);
}
}