如何把thinkphp5的项目迁移到阿里

1.为什么要迁移到阿里云函数?

我的项目是一个节日礼品领取项目,过节的时候会有短时间的流量洪峰。平时访问量很低《之前的架构是购买的阿里云alb+多台ecs+云msyql+云dis。最大的问题就是成本问题。平时流量低的时候ecs成本也无法缩减。

部署到阿里云函数计算,还能减少运行环境搭建的成本。之前的模式需要在ecs安装nginx,然后安装php,以及安装php的驱动程序dis等。看了下阿里云函数计算官方文档,目前customruntimeDebian9内置php7.4并且看了下内置的php的扩展整好也支持到了我整好需要的dis。不仅剩下了买服务器钱,而且还不用安装php环境了,不仅如此每个月还有免费的算力额度。

迁移原因总结下:1成本降低了很多2免去了环境部署3自动扩容,天生应对高并发

2.改造旧项目适配函数计算。

代码改动:

虽然说免去了环境部署,但是我之前的代码还是有些不适配的地方,比如之前代码的日志都是存放到服务器的某个目录的。如果迁移到函数计算的话,实例会随时销毁重建,导致日志丢失。解决办法就是把日志写入到阿里云oss上面,或者使用阿里云的日志服务写到那个里面去。

这里还有一点要注意,我的项目不是前后端分离的,鉴权还是穿透的session和cookie模式。如果session是保留在服务端的文件的话也会存在上面的问题,建议存储的dis里面,我的项目本省就是存到dis里面的,所以这块不需要改动,如果你的项目存在这样的问题那就需要改进下了。

函数计算和云msyql和云dis通讯的时候一定要采用vpc内网互通的原则减少链路传输的开销以及链路劫持风险。

3.增加s.yml以及启动shell脚本

配置s.yml使用ServerlessDevs客户端工具发布到阿里云函数计算,ServerlessDevs这个工具并非阿里云的客户端工具,而是一个开源开放的Serverless开发者平台,致力于为开发者提供强大的工具链体系。通过该平台,开发者不仅可以一键体验多云Serverless产品,极速部署Serverless项目,还可以在Serverless应用全生命周期进行项目的管理,并且非常简单快速的将ServerlessDevs与其他工具/平台进行结合,进一步提升研发、运维效能。

它的


转载请注明:http://www.aierlanlan.com/grrz/6901.html

  • 上一篇文章:
  •   
  • 下一篇文章: