【系统架构】从单机到分布式

从单机到分布式

1.单台服务器应用

在这里插入图片描述
问题:由于流量越来越大出现服务器性能问题。

2.应用服务器和数据库服务器分离

对架构增加了一台服务器,应用和数据库分别部署到不同的服务器上,对于开发和测试没有任何影响,只需要应用服务器新增一个远程调用数据库服务器的连接,有效地缓解了应用服务器负载的压力。
在这里插入图片描述

问题:随着请求流量的进一步增大,出现应用服务器性能问题。

3.应用服务器集群

在这里插入图片描述
流量请求得到缓解。

应用服务器集群后出现以下问题:

  • 需要使用 Session+Cookie 维护用户。
  • 如何做请求转发(CDN,前端做负载均衡器)。

4.负载均衡器

负载均衡器优化了访问请求在服务器组之间的分配,消除了服务器之间的负载不平衡,从而提高了系统的反应速度与总体性能。

负载均衡器可以对服务器的运行状况进行监控,及时发现运行异常的服务器,并将访问请求转移到其它可以正常工作的服务器上,从而提高服务器组的可靠性采用了负均衡器器以后,可以根据业务量的发展情况灵活增加服务器,系统的扩展能力得到提高,同时简化了管理。
在这里插入图片描述
负载均衡器之后出现以下问题:随着流量的新增,数据库服务器有性能压力,数据库遇到瓶颈。

5.数据库服务器集群

在这里插入图片描述
数据库服务器集群后出现以下问题:

  • 数据库读写分离
  • 数据库数据同步
  • 数据库路由

6.搜索引擎集群

在这里插入图片描述
搜索引擎集群后出现以下问题:

  • 搜索引擎的索引数据如何同步,实时增量还是定时全量?

7.缓存服务器

在这里插入图片描述
用户量是没有上限的,缓存、 限流、 降级。

注:架构到了第七版还不能算分布式架构,只能说是由多台服务器组成的高可用的架构。

8.数据库水平/垂直拆分

在这里插入图片描述
目前将数据库进行垂直拆分,还未进行数据库水平拆分(比如将订单表分库分表就属于水平拆分)。

9.应用服务器垂直拆分

在这里插入图片描述
以淘宝为例:

  • user.taobao.com
  • product.taobao.com
  • order.taobao.com

根据不同域名请求访问不同服务器,如果涉及到用户需要查询商品或订单,直接在用户服务器里写 DAO 层查询商品或订单数据库表。

问题:应用服务器交互调用问题。

10.SOA服务(分布式架构)

SOA(Service Oriented Architecture,面向服务的架构)是一种可通过服务接口复用软件组件的方法。
在这里插入图片描述
最后第十版就不是 Web 应用服务了,应用服务拆分为服务节点,属于 微服务 了。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

G皮T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值