• 《大型网站技术架构》学习笔记——架构模式


    为了解决高并发访问、海量数据处理和高可靠性运行一系列问题,大型网站架构都会有一些大同小异的套路,可称为大型网站的架构模式:


    1、分层

    逻辑概念。将系统在横向维度上划分成几个部分,每个部分负责相对单一的职责,然后通过上层对下层的依赖和调用,共同组成一个完整的系统。

    通常可分为 

    应用层:负责业务和视图战士,如网站首页、搜索输入及结果等。可以继续细分为视图层 + 业务逻辑层

    服务层:为应用层提供服务支持,如用户管理、购物车服务等。可细分为 数据接口层+ 逻辑处理层。

    数据层:提供数据存储及访问,如数据库、缓存、文件、搜索引擎等

    分层架构必须合理规划层次边界和接口,禁止跨层次调用,比如应用层直接调用数据层,或者你想调用,数据层调用服务层,服务层调用应用层等。

    分层结构对网站日后的扩展等至关重要,应该在规模很小的时候就进行分层。


    补充:

    MVC模式是一种框架模式。它跟网站这个架构模式怎么结合?找到一些图,先记下来,以后在实践中体会:




    2、分割

    在纵向对功能进行分割。比如在应用层,将不同业务进行分割,交给不同团队负责,部署在不同的服务器。


    3、分布式

    分层、分割的一个主要目的是便于分布式部署。

    分布式意味着有更多的机器来共同完成同样的功能,资源更多,能够处理的数据和访问就越多。但开发管理复杂,因此要量力而行。

    常用分布式方案:

    1)分布式应用和服务

    2)分布式静态资源。如JS、CSS、LOGO图片独立分布存放,并采用独立的域名,所谓动静分离。独立域名是为了加开浏览器并发加载速度。

    3)分布式数据和存储。

    4)分布式计算


    4、集群

    因为有更多服务器提供相同服务,因此集群可以提供能好的并发性。更重要的是,避免业务不致受服务器故障的影响。所以在网站应用中,即使是访问量很小的功能,也至少部署两台服务器构成一个小集群。


    5、缓存

    1)CDN

    2)反向代理

    3)本地缓存

    4)分布式缓存


    6、异步

    引入排队机制,改善体验。


    7、冗余

    集群,备份。


    8、自动化

    无人值守,自动化发布,监控,告警,失效转移等。


    9、安全


  • 相关阅读:
    Uva 11754(枚举+中国剩余定理)
    poj 1018(枚举+贪心)
    Uva 11021(概率)
    UVa 11426
    unittest(二)框架中的概念与断言
    unittest(一)IDE导出的代码分析
    Selenium(十五)cookie
    Selenium(十四)处理登录框的验证码
    Selenium(十三)调用js,控制浏览器的滚动条
    安装pytest
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257984.html
Copyright © 2020-2023  润新知