作者 | 袁坤 整理 | 徐诗瑶
出品 | CSDN云原生
近日,阿里云aPaaS&Serverless前端技术专家袁坤在CSDN云原生meetup长沙站分享了Serverless在函数计算FC的实践。
互联网软件架构演进
我们先简单回顾下互联网软件架构的演进之路。
单机部署
在单机部署中,将所有的业务和数据库都部署在一台主机中。
此架构的优点是:开发、部署以及运维都非常简单。缺点是:一旦遇到流量过大或者机器故障,整个系统瘫痪,甚至丢失业务数据,造成巨大业务损失。
集群化部署
针对上述架构问题,常用的解决方案是采取水平扩容的方式进行集群化部署。引入SLB的流量网关路由,进行负载均衡。集群化部署本质上是单体架构,开发人员在项目开发的时候需要额外注意,比如要使用cookie进行鉴权,session就不能存储在本地,需要引入Redis进行单独存储。集群化部署可以通过快速水平扩容解决流量突增或机器故障的问题。
微服务拆分
随着业务的发展以及团队规模的扩张,单体架构这样紧耦合的方式会带来越来越多的问题,架构的灵活性和可扩展性成为阻碍业务发展的重大挑战