单体架构、集群化、微服务与云原生的关系

2022-04-22
2582

单体架构

集群化

微服务

云原生

使用单体架构的方式虽然能够满足基本的信息话需求,问题是一旦服务器或者数据库出现问题,就会导致整个系统瘫痪。后来就会把大的系统拆分为多个子系统,比如商品,用户,订单等这就是垂直拆分,并且每个子系统会部署到不同的服务器上,为了性能可能会使用大量的服务器进行集群化部署,引入了集群化部署之后我们就需要引入负载均衡,因为服务端要对请求进行分发,有了负载均衡之后,后端的应用就可以根据流量的大小进行动态的扩容和缩容,也就是水平的拓展方式。可能在垂直拆分的业务中,存在重复的功能,类似于邮件,支付等功能,一旦项目大了,集群部署的多了,这些重复的功能无疑会浪费系统资源,而后期的维护也会变得十分的复杂,这时候我们一般会使用服务化的架构,有了服务化的概念之后,就可以把业务进行进一步的拆分,也就是我们所熟知的微服务架构。没有完美的微服务架构,只有最适合业务的微服务架构。虽然使用微服务功能之间实现了解藕,但是维护却变得复杂了。为了解决微服务面临的问题,我们引入了服务网格,服务网格作为服务间通信的基础设施层。是轻量级高性能网络代理,提供安全的,快速的,可靠的服务间通信,与实际应用部署在一起。可以利用云原生架构来考虑组件和服务的部署方案