我的 Serverless 实战 — 使用基于腾讯云云函数部署项目实践
Posted 雨果虾滑猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的 Serverless 实战 — 使用基于腾讯云云函数部署项目实践相关的知识,希望对你有一定的参考价值。
【本文正在参与“100%有奖|我的Serverless 实战”征稿活动】
页面活动链接 https://marketing.csdn.net/p/15940c87f66c68188cfe5228cf4a0c3f
前言
在我的上一篇文章中,我们从概念入手,认识了什么是Serverless,以及现有的支持Serverless的厂商。
我的 Serverless 实战 — 理解Serverless概念、和传统开发模式区别以及优缺点
从这篇开始,我将从实践出发,一步一步踩坑,详细介绍函数即服务(Faas)以及相关配套服务的部署,最终达到在生产环境运行的目的。
腾讯云serverless
php7 + API网关
这个demo让我们了解到云函数的配置情况和基本流程。
点击部署,我们可以看到的是新建云函数页面。
包含了
- 基本配置
- 函数代码
- 高级配置
- 触发器配置
基本配置
基本配置主要是选择地域,推荐查找官方文档,选择最便宜的地域。
根据查询文档,目前还没有根据地域区分定价,所以根据实际情况选择离业务较近的地域即可。
函数代码
函数代码整合了Cloud Studio 的在线编辑器,显然不是很好用,不管是编写还是调试。这个坑后续再说。
(更新 坑已经填了 https://coderfix.blog.csdn.net/article/details/116521657)
高级配置
这里的高级配置指的是绑定腾讯云的日志服务CLS,和一些运行相关的配置问题。
云函数服务支持两种触发方式
- 同步
- 异步
如果需要支持异步操作,就需要勾选配置项。
环境配置指定了运行内存,这个很重要,因为内存的多少和费用是紧密相关的。
资源使用费用 =(资源使用量 - 免费资源额度)× 资源使用单价
资源使用量 GBs
资源使用量 = 函数配置内存 × 运行时长
用户资源使用量,由函数配置内存,乘以函数运行时的计费时长得出。其中配置内存转换为 GB 单位,计费时长由毫秒(ms)转换为秒(s)单位,因此,资源使用量的计算单位为 GBs(GB-秒)。
例如,配置为256MB的函数,单次运行了1760ms,计费时长为1760ms,则单次运行的资源使用量为(256 / 1024)×(1760 / 1000) = 0.44GBs。
这时候体会出代码优秀有多重要了吧。。。。
触发器配置
触发器的概念源自于"事件触发(Event-Triggered)",触发器可以理解为将云函数调用到业务中的桥梁,我们可以通过下面方式调用触发器,运行云函数
- 定时触发
- 指定的 COS Bucket 发生对象创建或对象删除事件时
- 指定的 CKafka Topic 接收到消息时
- 指定的 CMQ Topic 接受到消息时
- 指定的 CLS 触发器接收到消息时
- 指定的 MPS 触发器接收到消息时
- CLB 触发器接收到请求时
这里我们可以发现一个问题,业务和架构的数据流动,都需要依赖于触发器进行,而服务商的各种服务是紧密绑定的。而我们从这里也就能体会到Serverless的缺点之一,迁移成本提高。
创建云函数
点击创建之后,就会看到云函数正在创建
经过等待,云函数创建完成。
角色授权
调用云函数
使用测试调用云函数,可以测试云函数的返回,并且可以我们可以在日志中查看返回。
总结
本文主要讲了
- 云函数的创建
- 云函数的触发方式
- 测试环境调用云函数
下次更新
- Serverless应用的创建
- Serverless中调用多个云函数
参考资料
- https://cloud.tencent.com/document/product/583/31927#timer-.E8.A7.A6.E5.8F.91.E5.99.A8.E7.9A.84.E4.BA.8B.E4.BB.B6.E6.B6.88.E6.81.AF.E7.BB.93.E6.9E.84
- https://coderfix.blog.csdn.net/article/details/116521657
以上是关于我的 Serverless 实战 — 使用基于腾讯云云函数部署项目实践的主要内容,如果未能解决你的问题,请参考以下文章
我的Serverless实战—基于Serverless搭建WordPress个人博客图文教程
我的Serverless实战—基于Serverless搭建一个简单的WordPress个人博客图文详解-JJZ
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )
我的 Serverless 实战 — 腾讯云Serverless 应用开发部署并调用云函数看这一篇就够了