博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站技术架构
阅读量:4358 次
发布时间:2019-06-07

本文共 860 字,大约阅读时间需要 2 分钟。

1.初始架构

  一台服务器,应用、数据库、文件都在一起,使用 LAMP建站 ,开发部署简单

2.应用服务与数据分离

  •     访问量增长,web性能变差,数据存储空间不够
  •   这时候需要风多的服务器,首先分离数据库,增加文件服务器;
  •   应用服务器 处理大量业务逻辑,需要更强的CPU
  •   数据库服务器 需要快速检索 和 数据缓存,需要更快的硬盘 和 更大的内存
  •   文件服务器 需要存储用户上传的文件,需要更大的硬盘

3.使用缓存改善网站性能

  •   使用缓存改善网站性能:
  •     增加应用服务器本地缓存
  •     增加远程分布式缓存集群
  •     使用类似Memcached之类的开源缓存产品

4.应用服务器集群化

  单一服务器端称为网站瓶颈:

    应用服务器集群化提高网站并发处理能力;

    增加负载均衡服务器来调度应用集群;

  

5.数据库读写分离

  增加缓存后,访问量持速增长,数据库负载压力过高:

    读写分离: 

 

6.使用反向代理和CDN

  网站做大后,全国各地各区域访问量增长,但是各区域访问速度差别巨大:

      反向代理 和 :  原理都是缓存,CDN部署在网络供应商的机房,用户请求最近节点访问;

      反向代理部署在网站的中心机房

 

7.使用分布式FS 和 分布式DBS

  数据库拆分:

      单表拆分:不同表放不同 库,降低单个数据库节点的负载;(不同库的表无法join)

      业务拆分:同一业务表 划分到一个库中

 

8.使用 NoSQL 和 搜索引擎

  出现海量数据存储 和 检索的需求

  使用NoSQL产品 分布式部署 来支持海量数据的查询和存储

 

9.业务拆分

  按照业务来划分子系统,按产品线划分,通过分布式服务来协同工作

 

 


 

                                                                转自        

 

转载于:https://www.cnblogs.com/meiyy/p/6923363.html

你可能感兴趣的文章
【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试
查看>>
前端必读:浏览器内部工作原理
查看>>
Uri、URL和URN三者的区别
查看>>
数据字典的转换
查看>>
二维数组按照指定的字段排序的函数
查看>>
linux安装Mac的默认Monaco字体
查看>>
java语言的特点
查看>>
关于动态添加iview admin路由以及刷新侧边栏
查看>>
ApplicationInsights的探测器尝鲜
查看>>
java 解析Json格式数据
查看>>
unix中的线程池技术详解
查看>>
CSS简介
查看>>
常用三大软件评价1
查看>>
MVC各层介绍使用---初步理解
查看>>
单例对象的创建与销毁
查看>>
知识点关键词(记录一下)
查看>>
国际结算业务
查看>>
嵌套循环概念
查看>>
C# 生成订单号的几种方式
查看>>
IOS开发札记
查看>>