网站技术架构知识点笔记
2022-10-20 16:08:52 0 举报
AI智能生成
网站技术架构知识点笔记
作者其他创作
大纲/内容
1初始架构
应用,DB,文件都在一块
经典的LAMP模式
2.应用服务和 数据分离
问题
性能变差,数据存储空间不够
3台服务器
应用服务器
需要处理大量业务逻辑,这需要更强的COU
数据服务器
需要快速磁盘检索和数据缓存,这需要更快和更大的内存
文件服务器
需要存储用户上传的文件,需要更大的硬盘
3.使用缓存改 善网站性能
问题
访问量持续增长,web性能再次变差,响应速度变慢
2-8定律
web的访问规律,80%业务访问集中在20%的数据上
增加应用服务器本地缓存,这个最直接,也最简单
增加远程分布式缓存,这个最直接,也最简单
增加远程分布式缓存集群,当本地内存不足以放下需要的缓存的数据时,就只能通过分布式
使用类似与memcached之列的开源缓存产品,redis缓存更多的数据
4.应用服务器 集群化
随着网站的成长,单一应用服务器成为网站瓶颈
应用服务器集群化提高网站并发处理能力
做成集群的关键是增加负载均衡服务器来调度应用集群
5.数据库读写 分离
问题:当增加缓存之后,随着访问量的持续增长,数据 库再次出现问题;数据库负载压力过高
数据库读写分离 利用数据库主从热备功能,实现读写分离 读写分离的细节这篇文章将的很清楚了
6.使用反向代理 和CDN
问题:应用集群如果将session管理做好,或做成无状 态的应用集群,可达到线性伸缩
解决方案:使用反向代理和CDN
CDN和反向代理基本原理都是缓存,CDN部署在网络提供商的机房 用户请求最近的节点访问,而反向代理部署在网站的中心机房
7.使用分布式FS和 分布式DBS
问题:应用集群如果将session管理做好,或做成无状态的应用集群, 可达到线性伸缩;而数据库的压力却不是很好解决
解决方案:使用分布式数据库拆分,可使用的方法有:
单表拆分:将不同的表放到不同的库中,从而降低单个数据库的节点的负载; 这样带来的问题就是不同库中的表无法做join操作
另一种方法就是按业务拆分,将属于同一业务的表划分到一个库中; 从而有效降低数据库负载,同时在业务逻辑实现上不至于过于复杂;
8.使用NOAQL和搜 索引擎
问题:出现海量数据存储和检索的需求
解决方案:使用NosQl产品分式部署来支持海量数据的查询和存储
0 条评论
下一页
为你推荐
查看更多