如何使用阿里云函数计算快速部署一个简单的ip转地址的http接口服务?

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。

什么是函数计算?

函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。

借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。

背景说明:

之前网上有好多的ip转地址的接口,但是后来好多都商用了,或者有的转化的不理想,不经意间在gitee上看见有个老哥有个开源的项目https://gitee.com/lionsoul/ip2region 觉得挺不错的,因为我的好多项目都需要这样一个功能,于是想做一个中枢的接口,给我的其他项目通过api的方式调用。这样也方便我后期统一更新这个ip2region的地址库,同时也可以方便的给提供其他小伙伴使用。后来了解到阿里云函数计算有免费的额度,能够弹性扩容,免运维等好处,于是把这位老哥开源的ip转化服务改成了阿里云的函数计算代码。

下面说下步骤:

https://fcnext.console.aliyun.com/cn-beijing/services

1.根据页面的提示先创建一个服务。

2.创建函数,选择使用标准runtime从0创建,因为我只是一个接口服务,用最轻量的形式创建即可。运行环境选择php7.2,目前只有7.2,如果你是把已有的项目迁移进来,或者是php的其他版本,选择后面的自定义运行时。代码包通过我上面的gitee地址下载即可。

这里给官方一个建议直接可以拉去开源的gitee或者github地址的代码,那样更方便些。

3.如何访问。

点击下图里面的url,提示一个文件下载,打开下载的文件,里面是返回的转化后的地址的json,这里为啥是下载呢?使用的阿里云的域名会在头部增加强制下载,绑定自己的域名,通过自己的域名访问就好了。

4.绑定自己的域名

根据下图填写域名然后自己去cname,这里给官方提个小建议,本账号下面的域名添加的时候最好能支持自动cname那样就更方便了。

下面是路由配置  /* 指的是根目录下面所有 指向 这个ip2region这个服务下面的ip2region这个函数下面的最新版本。

5.可以通过自定义域名访问了就。

是不是很简单。

6.使用阿里云的pts对其进行压测看下

业务成功率能到达99%以上,这个结果还是非常满意的。

11.png


7.说下自己的使用感受

首先从成本角度来说,相对于传统的自己去购买服务器,函数计算能够节省很多,尤其是那种短时间高流量大并发的场景,真正能够实现没有业务的情况下零费用。而且每个月还有一定的免费额度。

从安全性角度来说对于之前把代码部署到ecs上面的情况不用由于系统的bug导致中毒导致业务瘫痪了,足够安全,稳定。

运维角度来讲基本没有什么额外的运维工作量,基本做到了免运维。

从系统的业务并发承载量来讲,由于后端能动态扩容,基本也不会产生什么瓶颈了。从上面的压力测试上面看,比自己在ecs上面运行业务代码要可靠的多了

还能够配合阿里生态集成持续交付部署。


虚拟主机时代=>独立主机走红=》vps爆发=》云服务器崛起

函数计算serverless应该是后端服务提供的最终形态。



源代码地址以及说明:

https://gitee.com/wlphp/aliyun-fc-ip2regioin

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
5月前
|
API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
76 0
|
7月前
|
NoSQL 关系型数据库 Serverless
函数计算产品使用问题之通过http调用时,如何定义结构体传参
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
函数计算产品使用问题之通过http调用时,如何定义结构体传参
|
7月前
|
运维 Serverless 调度
函数计算产品使用问题之怎么在HTTP触发的函数里添加或读取自定义头部
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
7月前
|
缓存 运维 Serverless
函数计算产品使用问题之如何创建HTTP触发器
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
7月前
|
缓存 运维 Serverless
函数计算产品使用问题之怎么优化HTTP Server的启动速度
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
Web App开发 前端开发 Android开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
使用MAT分析内存泄露 对于大型服务端应用程序来说,有些内存泄露问题很难在测试阶段发现,此时就需要分析JVM Heap Dump文件来找出问题。
816 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
线程的状态有:new、runnable、running、waiting、timed_waiting、blocked、dead 当执行new Thread(Runnabler)后,新创建出来的线程处于new状态,这种线程不可能执行 当执行thread.start()后,线程处于runnable状态,这种情况下只要得到CPU,就可以开始执行了。
755 0
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
Every Programmer Should Know These Latency Numbers 1秒=1000毫秒(ms) 1秒=1,000,000 微秒(μs) 1秒=1,000,000,000 纳秒(ns) 1秒=1,000,000,000,000 皮秒(ps) L1 cache reference .
668 0
|
Web App开发 监控 前端开发
|
Web App开发 前端开发 测试技术
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
http_load用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具, 它可以以一个单一的进程运行,一般不会把客户机搞死。
765 0