linux cpu占用率如何看
268
2022-10-11
函数计算进阶-IP查询工具开发
场景介绍
场景介绍如何使用函数计算服务开发一个IP查询工具。
背景知识
什么是Serverless
自2006年8月9日,Google首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会(SESSanJose2006)首次提出“云计算”(Cloud Computing)的概念之后,云计算的发展可以用日新月异这个词来形容。那么究竟什么才是Serverless呢?
首先,我们以一个常见的Web服务为例:
开发团队不需要再自己维护服务器,也不需要自己操心服务器的各种性能指标和资源利用率,而是可以让开发团队付出更多的时间和精力去关注应用程序本身的状态和逻辑。Serverless应用的部署将变得十分容易。我们只要上传基本的代码,例如Python程序只需要上传其逻辑与依赖包,C/C++、Go等语言只需上传其二进制文件,Java只需要上传其Jar包等即可,同时不需使用Puppet、Chef、Ansible或Docker来进行配置管理,大大降低了运维成本。Serverless架构也不再需要监控底层的数据,例如不再需要监控磁盘使用量、CPU使用率等,可以更加专注的将监控目光放到监控应用程序本身的度量。同时在Serverless架构上,运维人员的工作角色会有所转变,部署将变得更加自动化,监控将更加面向应用程序本身。使用Serverless架构的优势
从上文中我们不难看出,相对于传统项目,Serverless具备的以下优势:
您无需采购和管理服务器等基础设施,运维成本低。您只需专注业务逻辑的开发,使用函数计算支持的开发语言设计、优化、测试、审核以及上传自己的应用代码。以事件驱动的方式触发应用响应用户请求。与阿里云对象存储OSS、API网关、日志服务和表格存储等服务无缝对接,帮助您快速构建应用。例如,通过OSS解决图片和视频的存储问题,当有新数据写入您的OSS资源时,自动触发函数处理数据。提供日志查询、性能监控和报警等功能快速排查故障。毫秒级别弹性伸缩,快速实现底层扩容以应对峰值压力。按需付费,支持百毫秒级别收费。只需为实际使用的计算资源付费,适合有明显波峰波谷的用户访问场景。总而言之,Serverless是在传统容器技术和服务网格上发展起来,更多指的是后端服务与函数服务的结合。对于开发者而言,能够将更多的精力关注在函数服务上,更侧重让使用者只关注自己的业务逻辑即可。
同时,Serverless也是云计算发展到一定阶段的必然产物。作为普惠科技,云计算发展的目标一定是绿色科技和大众科技的产品——而Serverless能够很好的诠释这些:最大程度利用资源、减少空闲资源浪费;同时降低学习成本和使用成本。
Serverless架构被称为是“真正实现了当初云计算的目标”,这种说法虽然有些夸张,但是也从另一方面表现出了大家对Serverless架构的期盼和信心。自2012年被提出至今,Serverless架构也是经历了7年时间,正在逐渐的走向成熟。
步骤一:连接ECS服务器
阿里云云产品资源体验地址:7.7的ECS实例(云服务器)。通过本教程的操作,您可以基于已有的环境开发一个基于函数计算的IP查询工具。
步骤二:开通函数计算服务
在使用函数计算前,需要开通函数计算服务。
说明: 本场景中提供的阿里云子账号无函数计算服务操作权限,请使用您自己的阿里云账号操作。您无需担心扣费问题,因为函数计算服务有一定的免费额度,请参见计费方式。
1.使用您自己的阿里云账号登录阿里云控制台,然后进入函数计算产品详情页。
步骤三:安装Funcraft工具
Fun 是一个用于支持Serverless应用部署的工具,能帮助您便捷地管理函数计算、API 网关和日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建和部署操作。
本步骤将在ECS服务器上安装Funcraft工具。
1.执行以下命令安装NodeJS。
curl -sL | bash - && yum install -y nodejs
2.执行以下命令安装Funcraft。
npm install request @alicloud/fun -g
3.执行fun config命令进行本地配置。
fun config
请参考以下信息输入您的阿里云账号ID、AccessKeyID和AccessKey密钥等信息。Aliyun Account ID:请在账号安全设置页面查看您的账号ID。
如果您使用的是阿里云主账号,请在安全信息管理页面的安全提示弹框中单击继续使用AccessKey。
步骤四:运行模板示例
1.执行以下命令新建工作空间。
mkdir search_ip && cd search_ip
2.执行fun init命令新建一个HTTP函数触发器。
fun init deploy -y命令部署应用到函数计算服务。
fun deploy -y
curl index.js 文件内容。a. 将 index.js 文件内容清空。
cat /dev/null > index.js
b. 使用vim打开 index.js 文件。
vim index.js
c. 按下 i 键进入vim的编辑模式,在文件中新增以下内容。
var getRawBody = require('raw-body') module.exports.handler = function (request, response, context) { getRawBody(request, function (err, data) { var respBody = new Buffer.from("您的IP是:" + request.clientIP); response.setStatusCode(200) response.setHeader('content-type', 'text/html') response.send(respBody) }) };
d. 按下 esc 键进入命令模式,输入 :wq 保存并退出vim。
2.执行 fun deploy -y 命令重新部署应用到函数计算服务。
fun deploy -y
命令执行结果如下所示:
curl https://11905929798*****.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/search_ip/search_ip/
命令执行结果如下所示:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~