码迷,mamicode.com
首页 > Web开发 > 详细

读《大型网站技术架构》(一)

时间:2018-01-08 18:36:27      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:问题   调度   代理   搜索   配置   读写分离   引擎   渐进   加速   

1大型网站架构演化

1.1大型网站软件系统的特点

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

    1.2演化历程

    初始架构

    没有太多人访问,采用LAMP架构,应用程序,文件,数据库在同一服务器上。

    应用数据库分离

    人数增多,单台服务器性能下降,数据空间不足,需要应用与数据库分离
    应用服务器:处理大量业务逻辑,需要更强大CPU
    数据库服务器:快速磁盘检索和数据缓存,需要更快的硬盘和内存
    文件服务器:存储大量用户上传的文件,需要更大的硬盘

    使用缓存改善网站性能

    业务进一步发展,数据库压力增大,导致访问延迟,使用缓存改善性能
    网站缓存:

  • 本地缓存:速度快
  • 远程缓存:分布式缓存服务器

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

    单一应用服务器瓶颈,采用多台服务器,通过负载均衡调度

    数据库读写分离

    数据库主从热备,配置主从关系,读写分离,改善数据库负载压力

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

    CDN和反向代理的基本原理都是缓存,CDN部署在网络提供商机房,反向代理部署在网站的中心机房

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

    分布式数据库是网站数据库拆分最后手段,单表非常庞大时,才会使用,更常用的手段是业务分库,不同业务数据库部署在不同服务器上。

    使用NoSQL和搜索引擎

    对数据存储和检索需求越来越复杂,需要非关系数据库技术,如NOSQL和非数据库查询技术如搜索引擎

    业务拆分

    通过分而治之将整个网站业务分成不同的产品线,归不同的业务团队负责

    分布式服务

    通过分布式服务调用共用业务服务完成具体约为操作

    云计算平台

    1.3大型架构演化价值观

    随网站所需灵活应对
    大型网站技术发展的主要力量是网站的业务发展

    1.4误区

    一味追随大公司解决方案
    为技术而技术
    企图用技术解决所有问题

读《大型网站技术架构》(一)

标签:问题   调度   代理   搜索   配置   读写分离   引擎   渐进   加速   

原文地址:http://blog.51cto.com/sjitwant/2058703

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!