大型网站架构演化

高可用、高性能、易扩展、可伸缩且安全

1.1大型网站特点

  • 高并发,大流量
  • 高可用
  • 海量数据
  • 用户分布广泛、网络情况复杂
  • 安全环境恶劣
  • 需求快速变更、发布频繁
  • 渐进式发展

1.2大型网站架构演化

1.2.1初始阶段

数据库,文件等所有资源在一台服务器上,访问量少

1.2.2应用服务和数据服务分类

三台服务器:应用服务器+文件服务器+数据服务器

应用服务器(因为处理大量业务、所以cpu强大)
数据服务器(因为快速检索和缓存,因此需要更快的硬盘和内存)
文件服务器(储存文件、所以需要大的硬盘)

1.2.3使用缓存改善网站性能

网络和现实一样也遵循28定理,不常改变的数据,或者需要经常查询并不经常改变的数据可以以缓存形式存在、减少数据库压力
1、文件缓存
2、redis缓存是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。类似的安装好php扩展// 初始化$cache = new Redis();
3、Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信,php有memcached扩展,安装好了即可使用。
4、APC

1.2.4使用应用服务器集群改善网站的并发处理能力

当一台歍的处理能力或者存储空间不足的时候,不要企图换更大,因为不管多大都满足不了业务需求,这时候就需要增加一台服务器,通过 负载均衡分发到不同的服务器上

1.2.5数据库读写分离

缓存已经接近了一部分数据库压力了,但是如果到达一个瓶颈的时候我们就需要考虑读写分离了,
目前大部分数据库都有主从热备功能,通过配置就可以实现同步

1.2.6反向代理和cdn加速网站响应

他们的基础原理都是缓存和分发机房,区别是cdn部署在网络提供商的机房,

1.2.7分布式文件系统和分布式数据库系统、

当读写分离满足不了时,就需要拆分库,分库分表是数据库的最后手段,将不同业务的数据库部署到不同的服务器上

1.2.8使用nosql和搜索引擎

1.2.9业务拆分

1.2.10分布式服务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值