基于函数计算的钉钉回调函数接口
由于企业内部管理的需要,用到了钉钉的业务事件回调能力,正好将这个轻量级的接口使用无服务器技术来实现部署,以应对流量无规律下的动态扩展伸缩、按需使用、按量计费等需求。 阿里云函数计算版本 由于公司系统部署在阿里云,首先选择使用阿里云函数计算来实现及部署。该接口使用了JVM上语言Kotlin开发,虽然阿里云函数计算官方支持的开发语言有Java但没有Kotlin。其实无论Java或Kotlin最终部署文件都是Java Class字节码,加上Kotlin与Java良好的互操作性,实测函数计算可以完美支持Kotlin开发(个人认为任意JVM上的开发语言都是支持的)。 同时该函数使用了表格存储来持久化回调事件。表格存储是个按量计费的分布式存储,有兴趣的可以自行查阅文档了解更多。 该函数通过API网关和表格存储触发器来触发。访问日志和执行日志被存储在日志服务中。 函数的本地测试和线上部署,使用了函数计算提供的命令行工具Fun。基于Fun定义的阿里云Serverless模型实现了对函数们使用资源的声明和编排,集成Gitlab CI实现了函数的CI/CD自动化发布流程。 不涉及公司业务的代码已开源在Gi...

