#冲刺创作新星#传统应用如何Serverless化 原创
传统应用如何Serverless化
坚持原创,写好每一篇文章
我们知道了Serverless有很多优点,如何真正用起来Serverless,如何把传统的应用程序过渡到Serverless呢?我们需要知道传统应用和Serverless应用之间有哪些差距
身份认证
在进行身份认证的时候,传统应用有基于Session的存储和jwt两种方式,而Serverless只支持一种方式。是基于jwt的,因为jwt是无状态的。Session的方式需要保存到内存中,而Serverless的内存是比较短暂的,这种基于Session的有状态的方式对Serverless应用来说不合适。
缓存
首先,传统应用是一直应用在服务器上提供服务的,它不会出现0个服务的现象,也就是说传统应用一直占用着服务器资源。而Serverless可以有零个应用,这就要求我们不能使用内存来做应用的缓存,因为当前的函数用完即毁,内存中的数据不会被保存,函数之间也不会共享,所以一般使用Redis等一些缓存中间件。
web服务
传统的web服务和Serverless应用相比,差别还是比较大的,进行改造的话我们需要创建一个自定义的HTTPServer,然后将事件对象转换为HTTP请求的参数,请求转发给我们的HTTP Server,HTTP的响应转换为函数返回的值。
网关
传统应用的服务器入口可能是Nginx、SLB(服务器负载均衡)等一些负载均衡的服务,来保证服务的高可用,而Serverless应用的入口是API网关,通过API网关转发到各个函数,因此这一块需要进行改造。
持久化数据
传统应用部署在服务器上,直接使用服务器中的磁盘即可,而Serverless应用需要使用云盘等各种云存储来保存数据,因为临时目录等函数实例释放后也会跟着释放。
总结
这篇文章我们讲了一个传统应用转化为Serverless应用转换需要进行哪些改造,大致有身份认证、缓存、web端的改造、网关的改造和持久化数据的改造。
❤️ 感谢大家
如果你觉得这篇内容对你挺有有帮助的话:
- 欢迎关注我❤️,点赞👍🏻,评论🤤,转发🙏
- 关注
周结论本人
,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。 - 有不当之处欢迎批评指正。