大型网站架构演化之路

一、服务进化之路

单服务器阶段

应用程序、数据库、文件都在一台服务器上。

这里写图片描述

应用服务与数据服务分离

应用程序、数据库、文件分别部署在不同的服务器上。

这里写图片描述

引入缓存缓解数据库访问压力

这里写图片描述

使用应用服务器集群提高并发处理能力

这里写图片描述

数据库读写分离

缓解数据库访问压力

这里写图片描述

使用反向代理和CDN加速网站响应

这里写图片描述

使用分布式文件系统和分布式数据库系统

这里写图片描述

使用NoSQL和搜索引擎

这里写图片描述

业务拆分

这里写图片描述

分布式服务

这里写图片描述

二、名词解释

分层

将系统进行横向分割,例如:分为数据层、服务层、应用层。

分割

对系统进行纵向分割,按照功能切分。

分布式

分层于分割其目的之一就是便于分布式部署,将不同的模块部署到不同的机器上,通过远程调用协同工作。

集群

多台机器部署相同的模块,再利用负载均衡来对外提供服务。

缓存

概念:将数据放在距离计算最近的位置以加快处理速度。
– CDN:在距离用户最近的网络服务商处部署资源。因为用户的请求都>是首先到最近的网络服务商处。

–反向代理:在网站的前端部署静态资源,用户请求过来直接在前端获取静态资源,不需要继续转发给应用服务器。

–本地缓存:应用服务器本地缓存着热点数据,无需访问数据库。

–分布式缓存:本地缓存往往无法提供足够空间,因此需要独立的分布式模块。
(缓存的条件:数据访问热点不均匀、数据有合适的有效期)

异步

生产者于消费者模式,各业务之间的调用不是同步的,而是将一个业务操作分为多个阶段,每个阶段之间通过共享数据的方式异步执行进行协调。
优点:
– 提高系统可用性。消费者故障,生产者还是可以向消息队列中生产数据。
– 大家加响应速度。生产者处理完,不需要等待消费者及时响应。
– 消除并发访问高峰。可以将猛增的请求数据放入消息队列中,等待消费者以此处理。

冗余

实现服务高可用,防灾。

自动化

自动化发布:自动化代码管理、自动化测试、自动化安全检测、自动化部署。
运行中:自动化监控、自动化报警、自动化失效转移、自动化失效恢复、自动化降级(拒绝部分请求将负载降低到一个安全水平)、自动化资源分配。

安全

密码、手机检验码、验证码、过滤敏感信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值