Serverless应用引擎SAE(Serverless App Engine)支持ElasticJob低改造迁移,您无需修改任何代码和配置,即可将ElasticJob部署至SAE Job。本文介绍将ElasticJob部署至SAE的操作步骤。
背景信息
SAE Job以任务为中心,当前聚焦支持单机广播、并行分片模型的任务,同时支持事件驱动、并发策略和超时重试等特性,提供低成本、多规格、高弹性的资源实例来满足短时任务的执行。
ElasticJob作为分布式任务框架,在使用过程中存在以下痛点:
- 框架整体较重,需要依赖外置注册中心ZooKeeper,增加了至少三台服务器的使用成本和维护复杂度。
- 随着任务量的不断增多,ZooKeeper作为有状态中间件将会成为性能瓶颈。
- 可观测能力弱,需要额外引入数据库并配置事件追踪。
- 任务常驻,当无任务执行时造成不必要的资源成本浪费。
在ElasticJob低改造迁移的过程中,您只需聚焦任务代码和简单配置,比如任务模板、并发重试等,由SAE负责无入侵地进行任务调度和管控。
将ElasticJob部署到SAE将解决上述痛点,并提供降本提效的核心价值。具体体现如下:
- 降本:如果采用原有的ElasticJob,为了保持其高可用,至少需ZooKeeper(至少3台ECS)+N*ECS的常驻费用;而部署到SAE上,则只需要为其任务执行具体业务逻辑所消耗的CPU与内存付费,即SAE实际的资源消耗量。
- 提效:SAE提供了全托管面运维的体验,降低了整体运维复杂度,提升了应用可用性。
操作步骤
如果要创建新的任务模板,您可以基于现有的任务模板,使用复制功能快速创建任务模板,只需修改差异化配置。若与已创建的任务使用相同的部署包,可在选择部署包时选择引用部署包,这样新的任务模板将与被引用任务共用同一部署包,做到只需一次部署即可同步更新。