系统架构介绍、服务器介绍、编程语言介绍
前端(Web/手机端)+ 中间业务逻辑层 + 数据库层
特点: (1)复杂性高 (2)技术债务 (3)部署频率低 (4)可靠性差 (5)扩展能力受限 (6)阻碍技术创新
分布式应用中级架构,分布式应用,中间层分布式+数据库分布式,是单体架构的并发扩展,将一个大的系统划分为多个业务模块,业务模块分别部署在不同的服务器上,各个业务模块之间通过接口进行数据交互。数据库也大量采用分布式数据库,如redis、ES、solor等。通过LVS/Nginx代理应用,将用户请求均衡的负载到不同的服务器上。
特点: (1)降低了耦合度 (2)责任清晰 (3)扩展方便 (4)部署方便 (5)提高代码的复用性 (6)缺点:系统之间的交互要使用远程通信,接口开发增大工作量,但是利大于弊。
微服务架构微服务架构,主要是中间层分解,将系统拆分成很多小应用(微服务),微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。当应用的故障不会影响到其他应用,单应用的负载也不会影响到其他应用,其代表框架有Spring cloud、Dubbo等。
特点: (1)易于开发和维护 (2)单个微服务启动较快 (3)局部修改容易部署 (4)技术栈不受限 (5)运维要求较高 (6)分布式固有的复杂性 (7)接口调整成本高 (8)重复劳动
serverless架构Firebase声称开发者只需引用一个API库文件就可以使用标准REST API的各种接口对数据进行读写操作,只需编写HTML+CSS+JavaScrip前端代码,不需要服务器端代码(如需整合,也极其简单)。
(1)低运营成本 (2)简化设备运维 (3)提升可维护性 (4)更快的开发速度 (5)厂商平台绑定 (6)成功案例比较少,没有行业标准
