急速上线 Serverless 钉钉机器人“防疫精灵”
新型冠状病毒疫情肆虐的春节,大家都过得人心惶惶,作为被关在家的程序狗,总觉得要做点什么。于是阿里云 IoT 事业部的几个同学就开始了防疫精灵的开发之路。
从点子到防疫宝,只花了一个下午时间;从防疫宝到钉钉全域机器人防疫精灵,只花了 1.5 天时间完成开发,3 天灰度、全量,发布 1 天半就突破 1 万个群添加使用,即插即用,疫情实况、常见问题、健康打卡全都有:
如此紧急,toC海量客户,如何快速开发又不失稳定、安全呢?
快速搭建
天下武功唯快不破,怎么快?靠工具!
IoT Studio是阿里云 IoT 向物联网开发者提供的应用开发工具,包括了可视化、逻辑编排、数据分析三大能力。该工具开发的应用实例运行于阿里云函数计算(FunctionCompute 简称 FC)之上,应用 serverless 化,以达到按量伸缩和免运维的效果。
机器人添加
原理:钉钉全域机器人添加/删除/更新时,会自动推送HTTP事件
搭建:
1.使用HTTP流来提供钉钉事件回调
2.使用路径选择节点,根据事件类型分流到对应的处理逻辑
3.使用 Node 脚本进行数据预处理,包括数据格式、敏感字段脱敏或加签等
4.存入数据库
聊天消息通路
原理:基本同上,at机器人的消息将发送到回调接口,转发 NLP 接口
搭建:
1.使用 HTTP 流来提供钉钉消息回调
2.使用 Node 脚本节点(此处可用 API 请求节点,但因为稳定性要求改用 Node 脚本来,详见下文优化部分)
批量群推送
原理:每天 9 时、17 时定时推送最新疫情实况和打卡、咨询快捷链接
搭建:
// 触发
1.使用定时节点,设置每日触发
2.使用项目内API节点,调用同项目内的批量发送服务
// 发送
3.使用 HTTP 节点搭建发送入口
4.使用 Node.js 脚本节点拼装消息发送的内容
5.使用 Node.js 脚本节点查询数据库的webhook信息并解签(此处后续会优化数据库节点,无需写脚本)
6.使用 Node.js 脚本节点,批量发送消息给钉钉的 OpenAPI 接口(此处是关键点,容量评估、并发、流控、异常处理都在此处)
疫情可视化
原理:使用可视化工具,利用库中的疫情数据,展示实况、趋势图,借助函数计算部署 puppeteer 服务定时截图
搭建:
- 使用文字组件,配置数据源(业务逻辑编排接口,类似上文搭建方式,不赘述),使用过滤器选定展示字段
- 使用折线图组件,配置数据源、数据系列。
- 使用函数计算部署 puppeteer 截图任务,详见:Serverless 实战 —— 快速开发一个分布式 Puppeteer 网页截图服务
架构梳理
小结
- 好用的工具是绝对的生产力。 IoT Studio 拉近了想法和实现的距离,通过快速模板化,1 天搭建原型,1 天完成了 V1 版本。
- Serverless 为后端的高并发、高可用保驾护航。由于疫情的发展,“防疫精灵”的访问量很快就大幅度提升,而且是非常典型的访问量峰谷类业务。Serverless 的按量付费和急速弹性(百毫秒级别)省去了业务量增长而引入的架构升级的工作。此外函数计算的快速部署和低运维特性,也让开发迭代得更快,对系统的监控度感知更容易。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
从零开始学习云服务器(1)-Docker+Tomcat+Nginx+MySQL
简介 对于企业应用架构来说,肯定不局限于一台服务器,按照我的设想:至少一台部署后台接口的服务器;一台部署前端页面的服务器;一台做代理的服务器;一台装载数据库的服务器等等,这还不包括对某些应用做负载均衡,不过现在大多数企业都使用的是云服务器了,传统机房用的比较少,因为成本大,我公司使用的是阿里云的云服务器。可是慷慨的许姓朋友只能赞助我一台服务器,这时候我就想到了Docker。只要我多开几个容器,就能模拟分出多个服务器,对应多个IP。所以本章首先是讲解安装Docker,其次是一一示例如何在Docker容器中安装配置Nginx、Tomcat和MySQL。原计划数据库使用Oracle,但是由于服务器配置太低,每次Oracle容器运行起来后都会导致服务器宕机,所以不得不改为MySQL。由于考虑到Docker容器每次重启都会从镜像中初始化,文章中会大量使用到挂载,具体原理最后章节会讲。 Docker安装 1、使用uname -r 查看系统内核,Docker 要求CentOS系统的内核版本高于 3.10 [root@VM_60_202_centos ~]# uname -r 3.10.0-862.9...
- 下一篇
03月25日云栖号头条:工信部网络安全管理局就新浪微博App数据泄露问题开展问询约谈
云栖号:https://yqh.aliyun.com第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策! 今日最新云头条快讯: 据工信部消息,3月21日,针对媒体报道的新浪微博因用户查询接口被恶意调用导致App数据泄露问题,工业和信息化部网络安全管理局对新浪微博相关负责人进行了问询约谈;近日,联合国可持续发展目标数字金融工作组发布最新报告。报告指出,数字技术在疫情中大有可为,该组织还向全球推荐了蚂蚁金服金融科技应用“蚂蚁双链通”。 一起来看最新的资讯: 工信部网络安全管理局就新浪微博App数据泄露问题开展问询约谈 据工信部消息,3月21日,针对媒体报道的新浪微博因用户查询接口被恶意调用导致App数据泄露问题,工业和信息化部网络安全管理局对新浪微博相关负责人进行了问询约谈,要求其按照《网络安全法》《电信和互联网用户个人信息保护规定》等法律法规要求,对照工信部等四部门制定的《App违法违规收集使用个人信息行为认定方法》,进一步采取有效措施,消除数据安全隐患。新浪微博表示,公司高度重视数据安全和个人信息保护,针对此次事件已采取了升级接口安全策略...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Linux系统CentOS6、CentOS7手动修改IP地址
- Red5直播服务器,属于Java语言的直播服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境