让有状态的节点变成无状态的节点才能更好的应对高并发
坚持原创,写好每一篇文章
上篇文章我们对什么Serverless做了简单的介绍,并介绍了它的重要组件FaaS为什么响应这么快,得益于它的三层架构,这篇文章我们将继续深入分析一下FaaS,了解一下它的两种进程以及对高并发是怎么进行应对的。
FaaS的两种进程模型
FaaS有两种进程模式,一种是用完就销毁的,一种是常驻进程。函数在执行后函数实例就销毁的就是用完销毁型,函数在执行之后实例不会销毁,而是等待下一次的调用,对于常驻进程的云厂商计费方式是按CPU的计算时间算的,所以我们也没有必要担心常驻内存一直运行着是否会一直在扣钱的问题。。
高并发来了怎么办
随着业务量的增加,高并发是我们必须面临的一个问题,FaaS也在这方面有自己的方案。当高并发来了的时候,我们通常使用横向扩容和纵向扩容,堆机器就是横向扩容,增加单个机器的cpu核数就是纵向扩容,堆机器是我们经常使用的一种手段,它更加可控。在进行扩缩容的时候通常面临一个问题,那就是需要重启服务器,对于无状态的服务,这无关紧要,它不存储任何的数据,而有状态的节点存储数据,像数据库这样的节点,对应数据库的访问,FaaS使用云服务商提供的BaaS服务来操作数据库而不是直接连接数据库进行增删改查操作,因为这不放面FaaS模块的扩缩容,还会让FaaS的性能降低,BaaS服务让后端应用转换为不需要运维的数据接口,它是Serverless中的一个重要模块。
总结
这篇文章我们讲了FaaS的两种类型的进程,并介绍了在面临高并发的时候,通过横向扩容和纵向扩容来应对,横向扩容是我们经常使用的方法,它更加可控,最重要的是将有状态的节点变成无状态的节点,因此在FaaS和数据库节点中间引入BaaS服务。
❤️ 感谢大家
如果你觉得这篇内容对你挺有有帮助的话: