大型网站架构架构及性能优化方案

本文介绍了大型网站的特点、架构演化过程及其优化方案。包括使用缓存、应用服务器集群、数据库读写分离等技术提高网站性能,并探讨了分层设计、性能优化的方法以及常见的Web安全问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1、什么是大型网站软件系统特点?
    高并发、大流量。高可用,海量数据、用户分布广,网络情况复杂、安全环境恶劣、需求变更快
    例如:淘宝、京东、百度等
2、大型网站架构演化?
   应用服务与数据库分离、应该拆分为 应用服务器、文件服务器、数据库服务器。
   应用服务器:     需要处理大量的业务逻辑,因此CPU需要强大
   数据库服务器:需要快速磁盘检索和数据缓存
   文件服务器:  硬盘大
3、大型网站如何优化方案
 1、 使用缓存改善网站性能
       将经常访问的数据,放入到内存中,减少数据库访问压力,提高网站访问速度。
 2、使用应用服务器集群改善网站并发访问能力
       可以将浏览器分发到应用服务器集群中的任何一台服务器上
 3、数据库读写分离
       通过主流数据库热备功能,通过配置两台数据库主从关系,可以将一台数据库数据更新同步到另一台服务器上。
       网站利用这一功能,实现数据库读写分离,从而改善数据库负载压力。
 4 、使用反向代理和CDN加速网站响应
       CDN和反向代理基本上原理都是缓存
       区别在于CDN部署在网络提供商机房,是使用用户在请求网站服务时,可以从距离 自己最近的网络提供商机房获取数据。
 5、使用分布式文件系统和分布式数据库系统
       分布式数据库是网站数据库拆分,网站常用的数据库拆分手段是业务分表,将不同业务数据库部署在不同的物理服务器上
 6、使用NOSQL和搜索引擎 
        对于数据存储和检索的需求也越来越复杂,网站采用一些非关系数据库技术如:NOSQL搜索引擎
        例如缓存:redis、mongdb  
        例如搜索引擎: Lucene Solr
  7、 在大型网站会将首页、商铺、订单、卖家拆分成不同产品线,分归不同业务团队负责。
 4、网站如何分层
应用层
负责业务和属兔展示,如网站首页及收缩输入和结果展示
服务层 为应用层提供服务支付,如用户管理服务,购物车服务等
数据层
 提供数据存储访问服务,如数据库、缓存、文件、搜索引擎
5、网站性能优化
 浏览器端 :
    可以通过浏览器缓存、使用页面压缩、合理布局页面、减少Cookie传输等手段改善性能。
    还可以通过CDN,将网站静态内容分发至里用户最近的网络机房,使用通过最短访问路径获取数据。可以通过网站机房部署反向代理
    服务器,缓存热点文件,加快请求响应速度茅箭区应用服务器负载压力。
  服务器端:
  可以使用服务器本地缓存和分布式缓存,通过缓存在内存中的热点数据处理用户请求,加快请求处理过程,减去数据库负载压力。 
  还可以通过异步操作将用户请求发送至消息队列,等待后续任务处理,而当前请求直接返回用户。 
  在网站有很多用户并发请求处理下,可以将多个服务器组成一个集群共同对外服务,提高整体处理能力,改善性能。
 代码层面:
  通过使用多线程、改善内存管理等优化手段。 
 数据库端:
 在数据库端,索引、缓存、SQL优化、NOSQL等。
6、Web安全编程
  1、XSS攻击
     攻击手段:跨站点脚本攻击,指黑客通过篡改网页,注入恶意HTML脚本。
     解决办法:一般对某些HTML危险字符转移,如:“>”转移为"&gt" 等
  2、SQL注入
  3、CSRF攻击
      攻击手段:跨站点请求伪造,利用浏览器Cookie或服务器端Session盗取用户身份。
      解决办法:表单Tokent通过在请求参数增加随机数的办法来阻止工具这获取所有请求,在页面表单中增加一个随机数为token,
      每次响应页面的tokent都不同,从正常页面提交的请求会包含该Tokent值。 而伪造的请求无法获得该值。
   4、文件上传
 定期用网站漏洞扫描工具
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值