基于函数计算的 WebAPI 与普通的 WebAPI 有哪些区别及优势?
常见的 WebAPI 架构如上图所示,主要包括客户端(浏览器)、服务器、数据库, WebAPI 由服务器提供,同时服务器要完成负载均衡、登录鉴权的相关操作。 当客户端流量快速增大时,服务器端只能通过水平扩展加机器的方式来增加提高服务能 力。这种常规模式主要有两点局限性: 技术同学除了开发业务代码,有大量的服务器运维成本,来保证服务的稳定性、可用性, 技术同学要花费很多时间进行运维工作,占用开发时间,降低项目研发效率。 流量突然增加时,需要水平扩展加机器,弹性的响应能力差,扩容速度往往要数十分钟, 无法实现秒级极速扩容,导致一段时间内的服务能力不足。同时当流量变少时,难以做 到及时缩容,造成机器的成本浪费。基于函数计算的 WebAPI 架构如上图所示,与常规的 WebAPI 架构相比,客户端 和数据库未发生变化,但服务器变化巨大,主要体现在: 之前需要开发团队维护的路由模块以及鉴权模块都将接入服务商提供的 API 网关系 统以及鉴权系统,开发团队无须再维护这两部分的业务代码,只需要持续维护相关规则 即可。 在这个结构下,业务代码也被拆分成了函数粒度,不同函数表示不同的功能。 我们已经看不到服务器的存在,是因为 Serverless 的目的是让使用者只关注自己的 业务逻辑即可,所以一部分安全问题、资源调度问题(例如用户量暴增、如何实现自动 扩容等)全都交给云厂商负责。 相对于传统项目而言,传统项目无论是否有用户访问,服务都在运行中,都是有成本支 出,而 Serverless 而言,只有在用去发起请求时,函数才会被激活并执行,且会按 量收费,可以实现在有流量的时候才有支持,没有流量的时候就没有支出,相对来说, 成本会进一步降低。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。