架构初探|青训营笔记

55 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第9天

1.认识架构

1.1概念

架构(又称软件架构):是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。实现一个软件有很多种方法,架构在方法选择上起着至关重要的指导作用

1.2单机架构

软件系统需要具备对外提供服务,单机架构就是把所有功能都实现在一个进程里,并部署在一台机器上,优点是简单,问题是C10K problem(单机客户端同时并发一万个请求)和运维需要停服

1.3单体架构

单机架构的基础上,进行分布式部署(将进程部署在多个机器上)

1.4垂直应用架构

按照应用垂直切分的单体

1.5SOA (面向服务架构)

SOA(Service-0riented Architecture):将应用的不同功能单元抽象为服务,定义服务之间的通信标准,通俗的理解就是专门的人做专门的事情(各个服务的职责更加清晰明确

1.6微服务架构

微服务架构: SOA 的去中心化演进方向,服务和职责拆分的更加细致,相对于SOA来说服务之间更加自由的建立沟通方式,降低耦合度,缺点是运维成本提高了

1.7小结

  • 架构演进的趋势目的:需求量越多,工程越复杂,满足软件的迭代需求,提高迭代效率
  • 架构演进的思路:分为垂直切分(分布式)和水平切分(分层模块化)

2.企业级后端架构

2.1云计算

2.1.1概念

云计算:是指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模数据分析和存储的基石。

2.1.2云计算基础

  • 虚拟化技术
  • 编排方案