本文介绍如何10分钟快速体验XXLJOB工程。
前提条件
开通MSE微服务引擎。登录微服务引擎MSE,点击开通。会授权阿里云XXLJOB访问您拥有的其他阿里云资源。
方案概览
10分钟快速体验XXLJOB大致分为3步,如下:
创建XXLJOB实例集群及应用:创建XXLJOB所需实例集群及应用。
部署Demo工程到容器:在ACK或SAE服务快速部署启动Demo应用。
测试验证:进行接入验证,并验证任务的创建与执行。
步骤一:创建XXLJOB实例集群及应用
步骤二:部署Demo工程到容器
产品提供了公共的业务应用Demo镜像:registry.cn-hangzhou.aliyuncs.com/schedulerx/xxljob-demo:2.2.0
。可通过以下两种方式,选择其一部署Demo应用接入XXLJOB实例测试体验。
确保任务部署集群和XXLJOB集群在同一VPC中,且应用节点所在的安全组入方向配置允许 VPC 网段的访问。
通过ACK Serverless部署
创建容器服务集群。登录阿里云容器服务控制台,创建一个ACK Serverless集群。需要为当前VPC开启配置“SNAT”(VPC已配置过则可忽略),以便拉取Demo镜像。
登录微服务引擎MSE,选择 ,进入指定XXLJOB实例。在应用管理页面,单击接入配置。
将接入配置替换到JAVA_OPTS中,并通过该YAML创建资源。进入第一步中创建的集群环境,选择 服务,点击使用YAML创建资源,将YAML配置填充启动。
apiVersion: apps/v1 kind: Deployment metadata: name: xxljob-demo labels: app: xxljob-demo spec: replicas: 2 selector: matchLabels: app: xxljob-demo template: metadata: labels: app: xxljob-demo spec: containers: - name: xxljob-executor image: registry.cn-hangzhou.aliyuncs.com/schedulerx/xxljob-demo:2.2.0 ports: - containerPort: 9999 env: - name: JAVA_OPTS value: >- -Dxxl.job.admin.addresses=http://xxljob-xxxxx.schedulerx.mse.aliyuncs.com -Dxxl.job.executor.appname=xxxxx -Dxxl.job.accessToken=xxxxxxx
通过SAE部署
创建Serverless应用集群。登录阿里云Serverless应用引擎SAE,进入 ,单击创建应用,创建一个微服务应用。
在应用基本配置信息向导页,选择已有命名空间,选择对应VPC下的交换机/安全组。点击设置镜像,切换到自定义镜像,输入Demo镜像地址:
registry.cn-hangzhou.aliyuncs.com/schedulerx/xxljob-demo:2.2.0
后,单击下一步。说明对应命名空间需要绑定XXLJOB实例集群所在的VPC。
在高级设置向导页,配置JAVA_OPS环境变量。
环境变量值参数获取如下:
登录微服务引擎MSE,选择 ,进入指定XXLJOB实例。在应用管理页面,单击接入配置。
单击创建应用,等待应用实例创建完成。
步骤三:测试验证
3.1执行器接入验证
在容器服务部署完Demo工程后,可在微服务引擎MSE,选择 ,进入指定XXLJOB实例。在左侧菜单栏单击应用管理,单击执行器数量,可看到接入的执行器。
3.2任务测试验证
官方提供了一个Demo镜像中包含了测试Job代码,以供快速测试验证,其中包含如下jobHandler:
单机任务JobHandler:helloworld。
分片广播任务JobHandler:shardingJobHandler。
单机任务测试
单机任务表示每次执行在该应用下的所有执行器中按照路由策略选一台幂等执行。
在微服务引擎MSE下,选择 ,进入指定XXLJOB实例。
左侧菜单栏的helloworld,路由策略选择轮询,并关联应用,然后单击下一步。
,单击创建任务。在基本配置表单中,填写任务名称,jobHandler 名称选择在定时配置表单,选择cron表达式,通过工具生成每天12点跑一次。然后单击下一步。
创建完成后,单击运行一次。
单击调度记录,可查看执行记录。
单击日志,查看执行日志结果。
分片广播任务测试
广播分片表示每次执行会广播该应用下所有执行器执行,每个执行器能拿到不同的分片号,可以用来做分布式批处理。开源XXLJOB分片广播无聚合功能,阿里云XXLJOB可以聚合展示每次执行的所有分片情况。
在微服务引擎MSE下,选择 ,进入指定XXLJOB实例。
左侧菜单栏的shardingJobHandler,路由策略选择分片广播。然后单击下一步。
,单击创建任务。填写任务名称,jobHandler 名称选择选择cron表达式,通过工具生成每小时第10分执行。然后单击下一步。
创建完成后,单击运行一次。
单击调度记录,可以查看执行记录。
单击详情 > 分片详情,可聚合展示每台机器的执行情况。
针对每个分片,单击日志,都可以查看日志。