zoukankan      html  css  js  c++  java
  • eureka实现线上平滑切换服务

    背景:每次重启都要告知测试或者客户在维护,线上QPS稍微有点高,维护的代价比较大,且维护次数频繁。经过被喷了多次之后总结下定决心解决这个eureka服务重启的坑

    eureka有个特点就是轮询去查询服务端的健康状态。默认是90s一次。可以通过一定的配置更改缩短时间,然而更改这个配置需要谨慎。

    因此想到了两个方案,一个是直接调用eureka server API切换 一个是直接使用全家桶的spring-boot-actuator。

    我这边使用的是简单粗暴的方式调用eureka server API。采用蓝绿发布的模式实现自由切换微服务的注册。从而对线上的影响达到0的风险,也无需停机

    当服务只有一个的时候,脚本启动多一个备用的服务,eureka先等备用服务启动完成并且注册成功。
    当成功注册后,则将旧有的服务移出eureka下架。

    注:需要更改eureka server的主动扫描时间,eureka client不推荐更改,经过多次的实验,如果同步时间一致,会偶尔出现404 服务实例找不到。实则已经注册成功,网关一直无法捕捉到实例。

  • 相关阅读:
    Delphi WinAPI GetWindowRect
    Delphi WMI[2] 响应网线断开
    打印两个升序链表中共同的数据
    判断一个链表是否是回文结构
    删除有序数组中的重复项
    三数之和、最接近目标值的三数之和
    删除链表倒数第N个节点
    判断回文数
    字符串转整数
    整数反转
  • 原文地址:https://www.cnblogs.com/jimw/p/12963617.html
Copyright © 2011-2022 走看看