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

大型网站技术架构:核心原理与案例分析笔记

时间:2017-08-29 12:59:43      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:搜索引擎   变更   请求   分布式数据库   发展   文件   加速   比较   反向代理服务器   

1.大型网站软件系统的特点:

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

2.大型网站演变架构

  1)初步应用:数据(数据库,文件服务器)和应用程序跑在单一服务器上

  2)数据与应用分离:数据库服务器,文件服务器,应用程序服务器

  3)缓存改善性能:(应用程序(带有本地缓存)-->外接分布式缓存)-->数据库服务器以及文件服务器对接

  4)应用程序集群:使用负载均衡策略来进行请求分布

      负载均衡调度器--->(多个饮用程序分布式部署)--->外接分布式缓存--->数据库服务器以及文件服务器对接

  5)数据库读写分离:当单一数据库IO量达到极限时候,需要对数据库进行集群

      将数据库服务器进行分布式

        数据库服务器(主库(写数据库)--->多个从库用于数据select)

  6)CDN加速

    在负载均衡前面添加一层反向代理服务器和Cdn加速器,将一些缓存数据尽早返回给服务器,让页面反应速度加快

    Cdn加速器-->反向代理->负载均衡调度器--->(多个饮用程序分布式部署)--->外接分布式缓存--->数据库服务器以及文件服务器对接

  7)分布式数据库以及分布式文件服务器

    当数据库中数据量非常大的时候,可以将这个不同业务的数据放在不同的物理机上。

    当文件数据量比较大时候,单一文件服务器不能承载时候,可以将单一文件服务器改为分布式文件服务器

  8)NOSQL和搜索引擎

    当大数据量大文件量的时候,必定会涉及到文件数据的搜索,此时需要的是NOSQL以及搜索引擎服务器给其提供搜索服务,减轻数据源管理的麻烦

  9)业务拆分:

    将一个巨大的应用分为不同的业务模块进行开发,将每一个不同模块的应用进行分布在不同的服务器中进行使用,不同模块与模块之间采用消息队列进行通信

大型网站技术架构:核心原理与案例分析笔记

标签:搜索引擎   变更   请求   分布式数据库   发展   文件   加速   比较   反向代理服务器   

原文地址:http://www.cnblogs.com/lonecloud/p/7447410.html

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