概述
在应用的发布、重启过程中,不可避免的会造成流量的损失,可能会因为服务没有预热而出现抖动,或因为服务没有完全初始化之前就注册在注册中心导致访问失败。微服务治理提供了服务上线的保护能力,提供服务预热、延迟注册服务的能力解决流量损失问题。
版本限制
框架 | 限制 | 详情 |
---|---|---|
Spring Cloud | 注册中心:Nacos、Eureka、Zookeeper | 若用户修改了ZoneAwareLoadBalancer则不支持预热。 |
Dubbo | 2.7相关版本 | Dubbo 2.6和3.0不支持预热。 |
Jdk版本 | 1.8+-- | -- |
开通无损上线
- 登录微服务治理中心控制台。
- 在左侧导航栏选择 微服务治理中心 ->应用治理。
- 在应用治理页面单击目标应用卡片。
- 在应用页面左侧导航栏选择流量治理 - 无损上下线,配置无损上线规则。
服务预热
应用在启动后,由于内部资源还未彻底初始化,直接处理大流量可能会导致出现请求阻塞或报错的情况。在应用刚启动的一段时间内,通过小流量预热的方式使应用完成内部资源的初始化,这样可以有效的避免应用上线后出现的抖动问题。
预热参数说明:
参数 | 说明 |
---|---|
预热时长(秒) | 应用实例下一次启动的预热时间,默认预热时长为120秒。服务预热时长设置范围为0~86400秒(即24小时)。 |
预热曲线 | 默认为2(适合于一般预热场景),表示在预热周期内服务提供者的流量接收曲线形状呈2次曲线形状。预热曲线设置范围为0~20。 |
延迟注册
应用在启动时,会存在内部资源还未初始化完成,服务就被暴露到注册中心,被外部的消费者调用,这种情况可能会导致调用报错。通过设置延迟注册,可以在应用的内部资源初始化完成之后再将服务注册到注册中心,供外部消费者调用。
参数 | 说明 |
---|---|
延迟注册时间(秒) | 延迟注册时间, 时长设置范围为0~86400秒(即24小时)。 |