美文网首页
Eureka优化

Eureka优化

作者: lenny611 | 来源:发表于2021-07-14 02:14 被阅读0次

    自我保护机制参考:https://www.jianshu.com/writer#/notebooks/50598621/notes/90050316
    比如上线10个微服务,然后期望阈值为0.8(默认是0.85),那么至少期待8个服务在线。
    假设出现2个服务因为网络问题导致心跳机制无法正常到达时,那么这时候开启保护机制。
    又有一个服务真的宕机了,那么这个服务不会被剔除掉,但是用户又可以调用,就会产生问题。

    优化点一:
    Eureka是使用Timer执行定时任务的,比如剔除下线服务,如果剔除其中一个服务的时候抛出异常,则会导致timer定期执行的其他任务也终止,这里可以设置eviction-interval-timer-in-ms减少剔除服务时间间隔来优化。

    public abstract class AbstractInstanceRegistry implements InstanceRegistry {
        ....//省略
        private Timer evictionTimer;
        protected void postInit() {
            this.renewsLastMin.start();
            if (this.evictionTaskRef.get() != null) {
                ((AbstractInstanceRegistry.EvictionTask)this.evictionTaskRef.get()).cancel();
            }
    
            this.evictionTaskRef.set(new AbstractInstanceRegistry.EvictionTask());
            this.evictionTimer.schedule((TimerTask)this.evictionTaskRef.get(), this.serverConfig.getEvictionIntervalTimerInMs(), this.serverConfig.getEvictionIntervalTimerInMs());
        }
    }
    
    image.png
    优化点二:
    #关闭从readOnly读注册表 use-read-only-response-cache: false
    # readWrite 和 readOnly 同步时间间隔。 response-cache-update-interval-ms: 1000
    Eureka三级缓存,减少各级缓存之间的同步时间。

    Eureka的service-url配置 : 打乱配置,不要所有服务都写一样的顺序配置,否则会造成流量倾斜

    相关文章

      网友评论

          本文标题:Eureka优化

          本文链接:https://www.haomeiwen.com/subject/qhirpltx.html