Serverless
Serverless 是一种云计算模型,它使开发人员可能构建和运行应用程序,而无需关怀底层的服务器基础设施。在传统的利用程序开发中,开发人员须要治理服务器的配置、扩大和保护等工作。而在 Serverless 模型中,这些工作都由云服务提供商来解决,开发人员只需专一于编写应用程序的业务逻辑。
Serverless 模型实用于许多利用场景,如 Web 应用程序、挪动后端、数据处理和物联网等。常见的 Serverless 平台包含:
国外:AWS Lambda、Azure Functions 和 Google Cloud Functions 等
国内:阿里云的函数计算 FC,腾讯云的云函数等
本文以 阿里云的函数计算 FC为例(阿里云每个月有收费的额度)
Cloudflare
Cloudflare 是一家提供云计算和网络安全服务的公司。它提供了一系列的网络基础设施和平安性能,帮忙网站和应用程序提供更快的加载速度、加强的安全性和高可靠性。
Cloudflare 的外围服务包含:CDN(内容散发网络),DDOS 爱护,Web 应用程序防火墙(WAF),DNS 服务,TLS 加密和边缘计算等。
本文须要应用到其中的 DNS 服务 和TLS 加密 服务
利用筹备
首先要筹备好利用的部署文件,云服务厂商个别反对通过文件上传和容器镜像的形式进行部署。
如果是文件上传的形式部署,还须要抉择运行环境,不同厂商反对的运行环境有所不同,须要提前理解好。
而镜像的形式就比较简单,只须要提供打包好的镜像即可。
所以集体举荐应用镜像的形式,这样能够领有对运行环境残缺的控制权,也不便版本治理。
本文接下来也将以镜像形式部署举例,其中镜像为已开源的一个微信聊天机器人我的项目
上传镜像到服务商平台
个别状况下须要把镜像文件上传到服务商平台当前能力进行版本治理和部署,或者通过服务商平台关联源码进行镜像打包,不同厂商可能有不同的策略,我这里抉择的是在本地打包当前上传到平台的形式。
阿里云须要先在【容器镜像服务】外面开明个人版,而后【创立镜像仓库】当前依据操作指南执行即可
上传完当前能够点击左侧的【镜像版本】查看镜像版本列表
创立云函数
阿里云的云函数是挂在服务下的,所以须要先创立服务,而后再创立函数。
创立函数的时候抉择【应用容器镜像创立】,申请处理程序类型抉择【解决 HTTP 申请】,容器镜像泽点击上面的【抉择 ACR 中的镜像】找到抉择本人上传的仓库版本即可
前面还有【监听端口】不要遗记配置,接下来就是一些资源和环境变量相干的配置,能够依据本人的须要抉择配置
最初是触发器配置,特地是申请办法记得要把利用内所申明过的类型都配上
最初点击【创立】即可实现函数的创立
验证云函数
云函数创立胜利当前,回到函数列表,点击函数名称即可查看详情
切换到【测试函数】性能项,通过配置申请形式和门路即可向函数发动申请,如果函数可能如预期内响应,则示意函数曾经部署胜利
再切换到【触发器治理(URL)】性能项,能够看到该函数曾经领有了一个外网能够拜访的域名,通过该域名也能够验证函数部署是否胜利,须要留神的是,该域名如果通过浏览器拜访,这所有后果都会通过下载的形式响应,这次要是因为国内提供网页服务是须要备案的。
自定义域名
实现下面的步骤当前,你就失去了一个能够通过后盾提供服务的云函数了,像我这个微信机器人我的项目就是一个纯后盾我的项目,所以是能够间接应用云函数提供的域名配置到微信公众号后盾应用的。然而如果部署的是一个前台服务,那就必须要配置一个自定义的域名能力失常应用,上面就别离介绍一下自定义域名的两种状况。
应用阿里云曾经备案的域名
如果你曾经有一个在阿里云备案过的域名,那么能够在【函数计算 FC】性能首页找到【域名治理】性能
通过点击【增加自定义域名】,进入配置页面
设置好自定义的域名并在域名解析控制台配置好相应的 CNAME
HTTPS 须要购买证书,或者手动上传(有的话能够抉择)
CDN 减速是要独自免费的,所以这里抉择禁用
最初设置路由配置到部署好的服务函数即可
没有已备案的域名
如果没有在阿里云曾经备案的域名,这能够思考把函数部署在海内服务节点,仔细的读者可能曾经发现了,我就是用的这种形式,下面的服务函数其实是部署在新加坡的,通过海内的节点提供服务就不须要提供的域名是备案过的,增加步骤跟下面备案的域名是一样的,只是在创立的时候少了域名备案校验这一步
配置实现当前,能够通过自定义域名再次拜访函数资源
CDN 减速和 HTTPS
后面咱们在配置自定义域名的时候就发现 CDN 减速 和HTTPS这两个都被设计为独自的免费我的项目了,然而咱们能够应用 Cloudflare 收费应用这两项性能。
登录 Cloudflare,抉择【增加站点】,输出本人的域名增加
打算抉择最上面的 Free
持续依照步骤,登录到域名的服务商,把对应的 DNS 服务器改为 Cloudflare 的 DNS 服务器地址
还是以阿里云为例,次要在域名治理外面的【DNS 治理】->【DNS 批改】界面抉择批改 DNS 服务器,两个都要改成 Cloudflare 的
实现当前在首页能看到增加的域名为无效即为设置胜利
点击域名进入配置页面,抉择左侧的【DNS】,把之前配置的云函数的 CNAME 在这里重新配置一遍
再点击左侧的【SSL/TLS】,勾选【齐全】
至此,再次通过自定义域名拜访验证,可能通过 https 拜访并失常显示资源即示意胜利