微服务.
1、什么是微服务.
微服务框架:打破之前all in one 的架构方式,把每个功能元素独立出来,把独立出来的功能元素的动态组合,需要的功能元素才去拿来组合,需要多一些时,可以整合多个功能元素。所以微服务架构是对功能元素进行赋值,而没有对整个应用进行赋值。
好处:
- 节省了调用资源
- 每个功能元素的服务都是一个可替换的、可独立升级的软件代码
构建一个个功能独立的微服务服务单元,可以使用springboot,可以帮我们快速搭建一个应用
大型分布式网络服务的调用,这部分有spring cloud来完成,实现分布式
在分布式中间,进行流式数据计算,批处理,我们有spring cloud data flow
spring为我们想清楚了整个从开始构建应用到大型分布式应用全流程方案
单一应用架构.
当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。
- 所有应用服务放在一个War包内
- 好处:
- 易于开发和测试
- 部署方便,扩展方便(只需复制war包)
- 缺点:
- 修改繁琐(修改需要停掉整个服务,重新打包,部署war包)
- 如果项目比较大,维护上可能存在问题
垂直应用架构.
当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,提升效率的方法之一是将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。
分布式服务架构.
当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。
流动计算架构.
当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。