后端架构剖析
架构又称软件架构,是有关软件整体结构和组件的描述。就相当于大厦的地基
软件架构的演变
单机架构
简单
缺点: 运维需要停服
单体架构 垂直应用架构
可以将服务分配给多个程序处理
将服务细分,专人做专事
SAO架构和微服务架构
面向各个服务,将职责继续细分。
将服务之间的交流更加细化
后端架构演进的初衷是为了解决单体架构面临的挑战,随着企业业务和用户量的增大,单体架构可能会面临负载过高、业务场景复杂化、代码维护困难等问题。因此,后端架构的演进是为了解决这些挑战,提高系统的可用性、可扩展性和可维护性。
云计算
云计算是通过软件自动化管理,提供计算资源的服务网络。
基础:虚拟化技术 编排方案
云原生
弹性资源的类型 计算资源和存储资源
devOps结合自动化流程,以加速应用开发、测试和部署的速度,提高软件开发,交付效率
云原生的微服务架构
云原生的微服务架构是一种将单体应用拆分为多个小型服务,通过通信协议协作实现系统功能
服务网格
挑战
基础设施层面
物理资源有限
用户层面
网络通信开销大
网络抖动
不同情况下不同实例用的资源不均
解决方案:
离在线资源并池
就是根据业务的不同情况合理的调用资源
自动扩缩容
根据业务访问高峰期和低峰期的不同,动态调节资源
可以依据cpu的利用率,内存等等指标来扩缩容。
微服务亲合性部署
将满足条件的容器调度到一台宿主机上,通过共享通信来节省资源开支
流量治理
基于微服务中间件和服务网格的流量治理
CPU水位负载均衡
laas 提供资源探针 服务网格 动态负载均衡