• 《大型网站技术架构》--第一章随笔


    1.高并发、大流量;

    2.高可用;

    3.海量数据;

    4.用户分布广泛;

    5.安全环境恶劣;

    6.需求快速变更,发布版本快速;

    7.渐进式发展,架构随着业务不停优化深入;

    二. 大型互联网站架构演化发展历程:

    1. 应用程序(PHP开发部署在Apache上)、数据库(MySQL)、文件都放在一台应用服务器(Linux操作系统)上,即LAMP;

    2. 应用服务和数据服务分离----把应用、数据分离

    随着业务的发展,一台服务器逐渐不能满足要求:越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足。这时就需要把应用和数据分离,分离后网站使用三台服务器:应用服务器、文件服务器、数据库服务器。应用服务器需要强大的CPU处理逻辑运算,数据库服务器需要更加的硬盘空间和内存,文件服务器需要更大的硬盘空间。

    3. 使用缓存改善性能----改善访问数据库频次

    这个不多说了,扛住一些经常访问数据的高并发流量冲击减轻访问数据库压力。

    缓存分为:本地缓存(应用服务器缓存)和远程缓存(分布式缓存服务器上的缓存)。

    本地缓存:速度更快,但是缓存大小有限,而且会和应用程序争用内存。

    远程缓存:即分布式缓存,理论上可以做到无限扩容。

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

    通过集群增加网站处理请求的能力,并提高网站的高可用性。通过F5向应用服务器集群分发用户请求,通过水平扩容使应用服务器的负载压力不在成为网站瓶颈

    5. 数据库读写分离----改善数据库处理性能

    数据库分成主从库,主库负责写入数据及向从库同步数据,从库负责读取数据(没有命中缓存)。

    6. 反向代理和CDN加速----本质上仍然是缓存,用来减轻后端服务器的负载压力。

    CDN:部署在运营商的机房,用户在请求数据时,先到离自己最近的网络提供商机房获取数据;

    反向代理:部署在网站中心机房,当用户请求到达中心机房后,首先访问反向代理服务器,如果反向代理服务器上缓存着用户的请求资源,直接返回给用户;

    7. 使用分布式文件和数据库系统----提升文件和数据库可用性

    8. 使用NOSQL和搜索引擎----提高搜索效率,解决一些关系型数据库先天性的效率问题

    9. 业务拆分----垂直拆分

    10. 分布式服务

  • 相关阅读:
    定了!这场9月网易必看大会重磅来袭,报名通道正式开启!
    走向现代化数据分析架构:趋势与挑战
    Acrobat无法在本页面上执行文本识别
    解决QTTabBar2048无法卸载或者安装问题
    ArcPy获取要素类的别名
    ArcGIS Pro 安装语言包报指定路径为空
    使用MxDraw52后台操作dwg文件
    DevExpress列表取消右键折叠展开菜单
    QT界面开发入门7 — 菜单栏没有转到槽
    IO,NIO和AIO是Java网络编程的三种模型
  • 原文地址:https://www.cnblogs.com/panning/p/5966795.html
Copyright © 2020-2023  润新知