【实操系列】 AnalyticDB PostgreSQL发布实例计划管理功能,实现资源分时弹性&分时启停

简介: 简介: 本文将对AnalyticDB PostgreSQL产品的计划任务管理功能以及其背后的实现机制和最佳实践做详细介绍。

背景

云原生数仓AnalyticDB PostgreSQL在2022年8月份对外发布了手动启停和秒级计费功能,在实例暂停期间计算资源免费,可以很好地帮助用户节约成本。在同年9月份,对外公测了计划管理功能,让用户由原来的“手动挡”切换到“自动挡”,同时,提供了更加丰富的资源弹性能力,支持计划启停和计算节点扩缩容,方便用户基于时间维度来规划实例的资源使用情况,进一步节约成本。


实现方案

整体架构

基于手动启停的技术框架, 计划任务在执行层增加了计划任务管理模块,同时引入了定时任务调度器来定时执行计划任务。


计划任务管理

计划任务模型

指定时间计划

指定时间执行计划任务(启动,暂停,扩容,缩容),适用于突发事件,比如想临时跑个批量任务,临时扩容,跑完后立即缩容,合理规划资源使用量。

周期执行计划

按照固定的周期执行任务(启动,暂停,扩容,缩容),适用于有规律的业务,比如离线批跑业务,每天凌晨批量执行期间扩容计算资源,跑完后再减少计算资源。


计划任务调度

计划任务和实例进行关联,一个实例可以创建多个计划任务。定时任务调度器每1min调用一次业务控制器的执行任务接口,业务控制器查询所有待执行的计划任务,并采用异异步线程池的方式来执行具体的计划任务。考虑到定时任务调度器的调度周期,理论上任务执行时间最大会有1分钟的延迟。

计划任务状态机

计划任务主要有以下几种状态,其状态转换如下图所示:

  • pending: 计划的初始状态,等待被调度执行
  • running: 计划执行中
  • finished:指定时间计划执行成功会进入到该状态,表示任务执行成功执行完成
  • success:周期任务本周期执行成功
  • failure: 任务执行失败,等待重试
  • discard:失败重试达到一定的阈值,表示计划执行失败,不再重试
  • cancel: 计划被暂停
  • deleted:计划被删除


计划任务带来的挑战

计划任务能够让用户在时间维度规划资源使用情况,在业务低峰时自动缩容,甚至暂停实例,在业务高峰时自动启动或者扩容计算资源,最大程度上节省用户成本。同时,计划任务对产品的自动化运维带来了更高的挑战:

  1. 计划任务要准时
  2. 计划任务成功率要高
  3. 产品成本不能增加


如何保证计划按时执行

为了保证计划任务能够按时执行,我们主要从定时任务调度器和监控告警两个方面来考虑:

  1. 定时任务调度器的执行逻辑足够简单,保证不会因为额外逻辑导致调度延迟;同时定时框架本身提供了任务执行失败或者延迟的告警;
  2. 完善计划任务监控告警,除了在计划管理模块中增加任务执行延迟的告警,还需要提供额外的巡检模块,定时对待执行的任务进行检测,一旦发现计划任务延迟大于一定阈值,则进行告警;


如何保证计划成功率

计划任务分为两类,第一类不依赖底层资源,比如暂停,缩容,这类任务主要和执行时的运行环境有关,失败的概率相对小一点;即使失败了,只要在可控的时间范围内处理好,对用户的影响也是可控的。但是,对于启动和扩容类任务的成功率,除了依赖当时运行时环境有关,还和底层的资源池水位有关。这类任务如果执行不及时,或者执行失败将会对用户的业务产生影响,容易引发生产故障,所以如何保障这类任务的成功率,是我们首要考虑的问题。


adbpg serverless实例底层采用资源池的模式部署,可以提升实例的生产和弹性速度,实现秒级扩缩容;不过,资源池需要维护一定的资源buffer,如果资源售卖率上不去,会增加业务成本。对于计划类任务,如果实例暂停或者缩容,资源不释放,是可以保证实例在启动或扩容时候的资源,但这无疑会增加产品的成本。如果资源释放了,如何保证实例在启动或扩容一定有资源? 我们采用采用冷热分池的资源池模式,热池里面存放可调度的资源,热池不用维护资源buffer;冷池存放预装好业务组件的ecs,停机存放,计算资源不收费,仅需要承担系统盘的费用,在热池资源不足时,冷池可以在业务无感知的情况下弹升到热池。冷热资源池模式具体的实现原理如下:

  • 自动扩缩容控制器会每5分钟为一个点,预测下一个点的资源售卖量,并主动维持热池的资源总量在预测值的水平
  • 资源调度器在进行资源评估时,如果当前可调度的节点无法满足资源评估,需要再评估一次冷池的资源,仅评估ecs规格是否可以新购(同单租户的资源评估逻辑),冷池资源可以满足新购的需求时,返回资源评估成功
  • 资源调度器在收到实例创建请求时,调在热池进行调度,如果资源不足,通知cluster-autoscaler缺少的资源总量
  • 自动扩缩容控制器在收到弹升事件后,需要把资源量转换成ECS节点数,并执行冷池扩容到热池的流程
  • 业务层在实例创建失败时会自动重试,只要在重试间隔内冷池资源能够弹升成功,那实例最终会创建成功,业务无感知。


最佳实践

用户在购买一个Serverless实例后,可根据以下操作完成对计划任务的创建,并可在事件中心查看计划任务的执行记录;

提示: 目前Serverless 仅有按量付费支持计划任务;

点击购买Serverless实例 按量付费试用


创建指定时间计划

登陆云原生数仓AnalyticDB PostgreSQL产品控制台,进入实例详情页面,选择计划管理,点击击"创建计划任务":

需要注意的是,这里指定的运行时间是UTC时间,需要根据当地时间进行换算。在计划任务创建成功后,可以计划列表页面查看计划的详细信息,包括计划状态,计划执行时间等。

创建周期执行计划

登陆云原生数仓AnalyticDB PostgreSQL产品控制台,进入实例详情页面,选择计划管理,点击击"创建计划任务":

需要注意的是,cron表达式是按照UTC时间来计算,需要根据当地时间进行换算。在计划任务创建成功后,可以计划列表页面查看计划的详细信息,包括计划状态,计划执行时间等。

编辑计划任务

对于已经创建的计划任务可以进行编辑,修改计划任务的名字,描述,以及运行时间。

禁用计划任务

如果想暂时不想执行计划任务,可以临时禁用。禁用后,计划任务状态变成已禁用,计划任务不再执行

启用计划任务

对于禁用的计划,在想用的还可以恢复

删除计划任务

如果不再想执行计划,可以将计划任务删除。

删除计划任务后,在计划列表中将无法看到。

查看时间变更记录

计划任务的操作会在通知类事件中展示,方便对计划任务的变更历史进行追溯。同时,计划任务的执行结果也会在通知类事件中展示。



结束语

降本增效一直是客户和我们共同的目标,从手动启停,秒级计费,再到计划任务,我们不断打磨产品的能力,力求给用户提供性价比更高,更易用的云原生数仓产品。

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
268739 0
|
2月前
|
人工智能 关系型数据库 分布式数据库
多图,PolarDB 2026 开发者大会有感
解读阿里云PolarDB开发者大会上数据库的AI原生演进:从数据形态融合、模型算子化到湖库一体架构,PolarDB通过四大支柱构建面向智能体时代的统一数据基座,推动数据库向“AI in SQL”与自主治理的深度变革。
|
5月前
|
存储 人工智能 大数据
云栖2025|阿里云开源大数据发布新一代“湖流一体”数智平台及全栈技术升级
阿里云在云栖大会发布“湖流一体”数智平台,推出DLF-3.0全模态湖仓、实时计算Flink版升级及EMR系列新品,融合实时化、多模态、智能化技术,打造AI时代高效开放的数据底座,赋能企业数字化转型。
1106 0
|
11月前
|
人工智能 JSON 安全
MCP Server 实践之旅第 1 站:MCP 协议解析与云上适配
本文深入解析了Model Context Protocol(MCP)协议,探讨其在AI领域的应用与技术挑战。MCP作为AI协作的“USB-C接口”,通过标准化数据交互解决大模型潜力释放的关键瓶颈。文章详细分析了MCP的生命周期、传输方式(STDIO与SSE),并提出针对SSE协议不足的优化方案——MCP Proxy,实现从STDIO到SSE的无缝转换。同时,函数计算平台被推荐为MCP Server的理想运行时,因其具备自动弹性扩缩容、高安全性和按需计费等优势。最后,展望了MCP技术演进方向及对AI基础设施普及的推动作用,强调函数计算助力MCP大规模落地,加速行业创新。
2650 77
|
3月前
|
人工智能 关系型数据库 分布式数据库
|
7月前
|
存储 机器学习/深度学习 缓存
阿里云服务器4核8G配置租用价格:不同实例收费标准、活动价格对比与选购参考
4核8G配置是深受初创企业用户喜欢的云服务器配置,2025年截止目前,按量收费标准最低降至0.45元/小时,包年包月租用平均优惠月价最低仅需159.84元/月,按年购买还可享受u1实例4核8G活动价955.58元/年起的价格。云服务器实例规格和配置不同,收费标准与活动价格也不同,下面是小编为大家整理汇总的阿里云服务器4核8G配置2025年最新收费标准与活动价格。
980 5
阿里云服务器4核8G配置租用价格:不同实例收费标准、活动价格对比与选购参考
|
Serverless BI
有奖实践,基于EMR StarRocks实现游戏玩家画像和行为分析
阿里云EMR-StarRocks联合镜舟科技,基于EMR-StarRocks实现游戏实时湖仓分析,免费试用物化视图、Paimon写入查询等新能力,前45位赢取StarRocks定制T恤、Lamy钢笔,小米充电宝,阿里云拍拍灯等活动礼品,前500位均可获得创意马克杯。
396 7
|
JSON 自然语言处理 Java
OpenAI API深度解析:参数、Token、计费与多种调用方式
随着人工智能技术的飞速发展,OpenAI API已成为许多开发者和企业的得力助手。本文将深入探讨OpenAI API的参数、Token、计费方式,以及如何通过Rest API(以Postman为例)、Java API调用、工具调用等方式实现与OpenAI的交互,并特别关注调用具有视觉功能的GPT-4o使用本地图片的功能。此外,本文还将介绍JSON模式、可重现输出的seed机制、使用代码统计Token数量、开发控制台循环聊天,以及基于最大Token数量的消息列表限制和会话长度管理的控制台循环聊天。
4306 7

热门文章

最新文章

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 云数据库 RDS PostgreSQL 版