目前我越来越关注技术原理层面的东西,开始考虑中间件设计背后,要考虑哪些因素,为什么要这样设计,有什么优化的地方,这次来讨论Eureka
设计一个注册中心,需要考虑什么东西?一步步来
Eureka为了防止同时读写内存数据造成的并发冲突问题,采用多级缓存来提高响应速度
@Override
public int getInitialInstanceInfoReplicationIntervalSeconds() {
return configInstance.getIntProperty(
namespace + INITIAL_REGISTRATION_REPLICATION_DELAY_KEY, 40).get();
}
这里我要着重强调,Eureka为什么要这么设计?目的是为了分散请求压力,当客户端机器越来越多的时候,不至于qps都集中到同一时刻,所以在小规模的部署中,有些时间是可以减小的