系统架构

1.1集中式(单体)架构

> 当网站流量很小时,只需要一个应用,将所有功能都部署在一起,以减少部署节点和成本,此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。


系统架构_第1张图片

> 存在的问题:

1.代买耦合,开发维护困难。

2.无法针对不同模块进行针对性优化

3.无法水平扩展

4.单点容错率低,并发能力差

1.2垂直拆分

> 当访问量逐渐增大,单一应用无法满足需求,此时为了应对更高的并发和业务需求,我们根据业务功能对系统进行拆分。


系统架构_第2张图片

优点:

系统拆分实现了流量分组,解决了并发问题。

可以针对不同模块进行优化

方便水平扩展

缺点:

系统间相互独立,会有很多重复的开发工作,影响开发效率

1.3 分布式服务

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,主键形成稳定的服务中心,使前端应用梗快速的响应多变的市场需求。


系统架构_第3张图片

优点:

将基础业务进行了抽取,系统间相互调用,提高了代码的服用和开发效率

缺点:

系统间耦合度变高,调用关系复杂,难以维护

1.4流动式计算架构(SOA)

SOA:面相服务的架构

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需要增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率,此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键


系统架构_第4张图片

以前出现的问题:

服务越来越多,需要管理每个服务的地址

调用关系错综复杂,难以理清依赖关系

服务过多,服务状态难以管理,无法根据服务情况动态管理

服务治理需要做什么?

服务注册中心,实现服务自动注册和发现,无需人为记录服务地址

服务自动订阅,服务列表自动推送,服务调用透明化,无需关系依赖关系

动态监控服务状态监控报告,人为控制服务状态

缺点:

服务间会用依赖关系,一旦某个环节出现问题影响很大

服务关系复杂,运维,测试部署困难,不符合DevOps思想问题

1.5微服务

特点:

单一职责,微,面相服务(REST,和语言平台无关),自治

自治:团队独立,技术独立,前后端分离,数据库分离,部署独立



系统架构_第5张图片

你可能感兴趣的:(系统架构)