注册配置治理 无损上线

对于任何一个线上应用来说,发布、扩容、缩容、重启等操作不可避免。Java 应用经常会延迟加载,启动后异步加载一些资源,例如:服务需要从文件存储 COS 获取数据或者文件,待数据或者文件拉取完成后才能对外提供服务。如果在应用启动后直接注册服务,会导致服务实际没有就绪而调用失败。为了确保服务无损上线,需要实例成功注册并且就绪后,先小流量预热,再放流量进来。具体功能包含。

相关产品
注册配置治理 产品页,含版本规格、价格与购买入口。

一、功能概述

·服务延迟注册

·服务注册就绪检查(提供服务注册是否成功的接口,以便打通 K8s 就绪检查)

·服务小流量预热

二、操作步骤

要实现服务路由需要完成两部分操作:

·在腾讯云控制台上,设置无损上线的规则。

·客户端接入,并引入无损上线的插件。北极星提供两种接入方式:

·SpringCloud Tencent

·Java Agent

下文将详细讲解使用步骤。

三、腾讯云控制台操作步骤

1. 登录 TSF 控制台。

2. 在左侧导航栏,选择 Polaris(北极星),在实例详情页选择目标引擎实例。

3. 在左侧导航栏,服务治理中心下,单击服务管理,选择目标北极星引擎和目标服务,进入服务详情页。

4. 单击无损上下线的 TAB。

5. 在无损上线的配置框中,点击设置按钮。

6. 按业务诉求,开启配置开关。

功能 描述 字段
延迟注册 北极星提供延迟注册的能力,待应用完全启动后,再进行服务注册。北极星支持两种延迟注册方式:时长延迟:通过设置延迟注册时间,可让应用在充分初始化后再注册到注册中心对外提供服务。探测延迟:探测应用对外暴露的检查接口,接口探测成功,返回200,确认应用可对外服务后再注册到注册中心。 时长延迟:延迟注册时间:延迟注册的时间,支持0-3600秒,默认延迟注册时间:30秒
  探测延迟:探测协议:支持HTTP探测方法:支持PUT、GET、POST、DELETE、全部。探测接口:填写业务暴露健康检查接口,接口探测成功后,服务注册。例如:/health
服务预热 北极星提供服务预热的能力,小流量验证无误后,再放入正常流量。 预热时长:默认120秒,支持 0~86400 秒(24小时)。预热终止保护百分比:当超过一定百分比的节点处于预热阶段,则预热终止,避免流量聚集在少量节点导致过载。默认50%预热曲线值:默认为1,支持 1~5 之间的整数值,流量权重会根据配置的预热曲线值呈指数型增长。数值越大,预热曲线梯度越大。服务实例权重计算规则:
就绪检查 就绪检查开关开启后,提供接口判断注册是否完成。和 K8s 就绪检查功能配合使用,当应用注册完成返回200状态码,帮助 K8s 判定应用已就绪;未完成注册返回500,帮助 K8s 判定应用未就绪。接口:/readiness端口:28080 

7. 可观测性。

可以实时查看服务无损上线的状态、服务请求等,确保每一步操作符合预期。

四、应用客户端操作步骤

北极星提供两种接入方式:

1. SpringCloud Tencent

2. Java Agent

SpringCloud TencentJava Agent1. 服务通过 Spring Cloud Tencent 接入北极星服务注册与发现能力。具体步骤请参见:Spring Cloud Tencent 接入北极星。2. 引入 spring cloud tencent 无损上下线插件依赖。在 pom.xml 中添加依赖:<dependencies> <dependency> <groupId>com.tencent.cloud</groupId> <artifactId>spring-cloud-tencent-lossless-plugin</artifactId> </dependency></dependencies>服务通过 Java Agent 接入北极星。具体步骤请参见:Spring Cloud 使用 Java Agent。

赞 (0)
上一篇 4天前
下一篇 4天前