3 分钟创建 Serverless Job 定时获取新闻热搜
“XXX 上热搜了!”
拿起手机点开微博热搜,看众生万相,甚至于加入话题发上一条微博,也不得不说是一种常态了。热搜往往能够瞬间博取你的眼球,进而达到传播的目的。
随着移动互联网的普及,信息爆炸的时代也随之来临,我们的生活每时每刻都被无数的新闻充斥着,各类新闻层出不穷。热搜关键词通常反映一段时间内的各界大事与流行话题。各个平台的新闻热搜榜则帮我们快速筛选并排列出了大家普遍更为关注的新闻事件,使得我们可以及时了解最新新闻资讯。
新闻热搜是从各媒体信源数据抓取最近 24 小时财经_新闻_、事件、话题传播热度进行排行。以数亿用户海量的真实数据为基础,通过专业的数据挖掘方法,计算关键词的热搜指数,旨在建立权威、全面、热门、时效的各类关键词排行榜,引领热词阅读时代。
而今天,我要给大家介绍的就是,不用掏手机、不用登微博,使用 SAE 就能定时获取最新热搜新闻。
背景知识
Job 作为一种运完即停的负载类型,在企业级开发中承载着丰富的使用场景。SAE Job 将 Serverless 技术所带来的普惠红利从应用领域向外延展至任务领域,通过结合 longrun + shortrun 的使用场景和最佳实践打造成为 Serverless 一体化企业级开发运维平台,以满足不同行业的差异化诉求,为用户提供更加完善多元的能力支持和稳定可靠的技术保障。
Serverless Job 支持将传统的 XXL-JOB 零改造迁移至 SAE 中,本场景将采用 XXL-JOB 作为示例,创建并执行 demoJobHandler 和 shardingJobHandler 两个任务,让用户体验整个使用流程。
通过本实验,大家可以体验如何在 3 分钟内就能创建 Serverless Job 定时获取最新新闻热搜,及如何将 XXL-JOB 零改造迁移到 Serverless Job。
体验简介
在体验本场景之前,您需要使用阿里云账号开通以下服务,在下文指南中有链接指引:
Serverless 应用引擎 SAE(Job 功能公测阶段,目前免费)。
Event Bridge(目前免费)。
NAT 网关。
弹性公网 IP。
另外:本场景可能会产生费用,主要包括:
1.NAT 网关使用费用:https://help.aliyun.com/document_detail/44611.html
2.弹性公网 IP 使用费用:https://www.aliyun.com/price/product#/commodity/eip
经测算,本场景正常体验 1 小时,费用在 1 元左右。
如需长期使用,请仔细阅读 NAT 网关和弹性公网 IP 的使用费用,避免产生意料之外的费用;如仅为体验功能不做长期使用,请按照文档最后删除步骤,部署之后立即删除。
操作步骤简要概述
步骤一:创建 SAE 任务
登录 SAE 管理控制台(https://sae.console.aliyun.com/)。
在左侧导航栏中,单击任务模板列表。
在任务模板列表页面顶部,切换到华南 1(深圳)region。
在任务模板列表页面,单击创建任务模板。
在任务基本信息页面,任务模板名称输入为 sae-hot-news,专有网络配置选择自动配置,单击下一步:部署配置。注意:任务模板名称请您一定设置为 sae-hot-news,我们将会根据此名称校验并判断您是否完成了任务。

在部署配置页面,参考如下说明进行配置,然后单击下一步:任务设置。
技术栈语言:选择 Java。
任务部署方式:选择 JAR 包部署。
任务运行环境:选择标准 Java 应用运行环境。
Java 环境:选择 Open JDK 8。
文件上传方式:选择 JAR 包地址。
版本:默认配置即可,无需改动。
时区设置:默认 UTC+8,无需改动。参数说明:

在任务设置页面,单击开通 EventBridge。说明:如果您已开通 Event Bridge,可忽略此步骤。

在事件总线 EventBridge(按量付费)页面,阅读并勾选事件总线 EventBridge(按量付费)服务协议,单击立即开通。
返回如下页面,表示您已成功开通 Event Bridge。

切换至任务设置页面,单击立即授权。
在任务设置页面,Cron 表达式输入为 0 */1 * * ?,即每小时执行一次,单击下一步:确认规格。

在确认规格页面,单击确认创建。返回如下页面,表示您已完成创建任务模板。

步骤二:开通公网访问能力
默认 SAE 实例无法访问公网,您需要通过开通公网 nat 来实现公网访问。
登录专有网络控制台(https://vpc.console.aliyun.com/nat/cn-shenzhen/nats)。
在公网 NAT 网关页面,单击创建 NAT 网关。
在公网 NAT 网关开通页面,所属专有网络选择为 SAE 任务所属的 vpc。说明:公网 NAT 网关需要与 SAE 任务在同一个 vpc 下。您可在 Severless 应用引擎控制台的任务模板详情页面,查看您刚刚创建的任务所在 vpc。


4.在公网 NAT 网关开通页面,选择专有网络后,若提示无可用交换机,单击创建新的交换机。
创建新的交换机对话框中, 依次设置交换机名称、可用区和 IPv4 网段,单击确定创建。

在交换机创建成功对话框中,单击继续购买 NAT 网关。
在公网 NAT 网关开通页面,访问模式选择为 VPC 全通模式(SNAT),弹性公网 IP 选择为新购弹性公网 ip,带宽峰值调整为 1Mbps,单击立即购买。

在确认订单页面,阅读并勾选《NAT 网关(按量付费)服务协议》和《弹性公网 IP 开通服务协议》,单击确认订单。
返回如下页面,您可以看到弹性公网 IP 和 NAT 网关已创建完成。

步骤三:执行 SAE 任务
在开通公网访问能力后,切换至 Serverless 应用引擎控制台页签。在任务模板详情页面,单击手动执行任务。
在任务记录页面,找到您刚刚执行的任务,单击任务 id。

在任务详情页面,请您耐心等待任务执行完成。当运行状态变为 Completed 时,表示任务执行成功。
在任务详情页面,单击实例名称右侧的实时日志。

在实时日志页面,您可查看应用执行情况。说明:后续每小时将自动获取当前新闻热搜,借助 Serverless job 可以快速创建全托管免运维的 Serverless job,欢迎大家使用。

步骤四:删除相关资源
在体验结束后,您可以删除相关资源,以免继续产生费用。
在 Serverless 应用引擎控制台的任务模板详情页面,单击删除任务模板。
在删除任务模板对话框中,单击确定。您即可删除 sae-hot-news 任务。

在专有网络控制台的公网 NAT 网关页面,找到您创建的 NAT 网关,单击其右侧操作列下的图标(如图所示),然后单击删除。

在删除网关对话框中,勾选强制删除(删除 NAT 网关机器包含资源),单击确定。说明:请您耐心等待 NAT 网关机器包含资源删除完成。
在专有网络控制台的弹性公网 IP 页面(https://vpc.console.aliyun.com/eip/cn-shenzhen/eips),找到 NAT 所使用的弹性公网 IP,您可以看到该 ip 当前的状态已经变成未绑定实例的弹性公网 IP,单击其右侧操作列下的图标(如图所示),然后单击释放。

恭喜完成实验!

👨💻👨💻以上即为如何在 3 分钟内创建 Serverless Job 定时获取最新新闻热搜的完整场景搭建过程。
🎁🎁实验完成还有双重礼品可以领取!https://developer.aliyun.com/adc/series/activity/serverlessjob 🎰7 月 25 号-8 月 2 号工作日期间,完成场景搭建,就能获得夏日清凉小风扇(每日限量)和阿里云代金券 5 元!🎉伙伴们可以冲一波啦!💌
评论