互联网架构
互联网架构?
一、单体架构
    早期互联网产品用户量少,并发量低,数据量小,多数只需要单个应用服务器可以满足需要,而数据库和文件服务部署在外部单个服务器上,这就是最早互联网架构,架构
单体架构的优点是容易开发、部署和测试,其缺点是系统耦合性高、技术选型单一、开发效率低下。
随着用户规模和业务量的不断上涨,单个应用服务器将出现性能瓶颈,对于PB级的数据和高并发用户大流量访问,单一或者主备的数据库都已经不能满足需求。对于数据库存储量大破局思路是在垂直方向进行拆分即分库,水平方向进行拆分即分表。对于架构来说也是同理,可分为功能维度上即水平方向进行拆分和业务维度即垂直方向进行拆分。如下图所示:
二、水平分层架构
水平分层架构即从水平方向上进行拆分,
水平分层架构从水平方向物理分成多个独立的进程包含:
1.网关层
2.业务逻辑层
3.数据访问层
4.数据存储层
每层直接逻辑解耦
三、SOA架构
基于SOA的系统架构实现了松耦合,系统之间通过服务接口(Service API)和中心化管理的企业服务总线(ESB)进行交互, 每个服务从本质上还是单体服务,对ESB严重依赖。
四、微服务架构
简而言之,微服务架构风格[是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源的API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。这些服务的集中化管理已经是最少的,它们可以用不同的编程语言编写,并使用不同的数据存储技术。
微服务从本质上来说就是水平分层架构和垂直分层架构(SOA)的结合,