架构-LAMP特级学习(网站大访问量解决方案)
网站运营要面对的四个问题总结:
1.大访问量(主用负载均衡技术)
2.大存储量
3.访问速度
4.服务器监控
一、大访问量解决方案
超级计算机 = 负载均衡 + 集群
0.反向代理(Nginx等实现)
1.负载均衡
定义:把众多的人群和访问量分担到不同的网络设备和服务器等, 即访问分流, 减少单个服务器压力
负载均衡技术:
根据业务为网站分配不同域名和主机
DNS轮询,利用可以为同一域名添加多条 A 记录解析,DNS服务器会将请求“伪随机(主要是 DNS 解析原理)”分配到指定 IP
Cisco以太网通道(网络层面)
Windows NLB技术(服务器上)
Linux LVS技术(服务器上)
F5等负载均衡器(网络层面)
其中NLB, LVS, F5都需要网络地址转换技术, 把请求转送到指定服务器上, 然后指定服务器直接返回给客户端不需经过LVS等服务器.
2.冗余技术
定义:对服务器进行备份, 如果一个服务器宕机, 则立即启动备份服务器, 防止单点故障, 集群中不论有多少台, 只有一台处于响应状态, 其他处于休眠状态
Cisco HSRP热备份路由
Windows集群技术
Linux HA集群技术
IBM AIX集群
二、总结
大流量高并发网站的解决方案:
1.使用负载均衡技术(思科以太网通道, Linux LVS技术, F5负载均衡器)和CDN网络加速技术
2.使用缓存技术, 服务器端(MySQL查询缓存, Memcache、Redis缓存、页面静态化缓存, Squid代理缓存, 配置服务器响应头控制缓存)
3.优化数据库(数据库设计优化, 查询优化, 存储过程优化, 索引优化, 主从复制, 分区分表)
4.禁止外部盗链
5.控制大文件下载
6.使用CDN, 减少主服务器连接数与流量(cookie等都是流量)
架构-LAMP特级学习(网站大访问量解决方案)的更多相关文章
- 架构-LAMP特级学习(网站大存储量解决方案)
数据库采用主从.分区技术 数据库优化
- 架构-LAMP特级学习(网站加速解决方案)
1.Squid代理缓存技术 2.页面静态化缓存技术 3.Memcache.Redis等缓存服务器 4.Sphinx搜索加速
- 架构-LAMP特级学习(网站服务器监控)
1.服务监控(SNMP配合CACTI监控) Apache Web服务监控 MySQL数据库监控 磁盘空间监控 2.流量监控(SNMP配合MRTG监控) 网站流量监控 3.使用SNMP可以获取被监控服务 ...
- php特级课---1、网站大访问量如何解决
php特级课---1.网站大访问量如何解决 一.总结 一句话总结: 负载均衡和冗余技术 1.负载均衡和冗余技术是一回事么? 并不是:负载均衡是用户分流:冗余技术是避免出现单点故障 负载均衡:将不同的用 ...
- [ios-必看] 国人当自强:两岸三地在线编程学习网站大搜罗 [转]
http://blog.csdn.net/lyy_whg/article/details/17350923 说到国内的在线编程学习网站,很多人都是一脸茫然,即使是资深开发者也是如此.在许多人眼中,尽管 ...
- Nginx网络架构实战学习笔记(五):大访问量优化整体思路、ab压力测试及nginx性能统计模块、nginx单机1w并发优化
文章目录 大访问量优化整体思路 ab压力测试及nginx性能统计模块 ab压力测试及nginx性能统计模块 ab压力测试 nginx性能统计模块 nginx单机1w并发优化 整装待发: socket ...
- 高访问量WEB开发中的架构模式,学习从点滴开始
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构 ...
- Web网站架构演变—高并发、大数据
转 Web网站架构演变—高并发.大数据 2018年07月25日 17:27:22 gis_morningsun 阅读数:599 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系 ...
- 高并发高可、O2O、微服务架构用学习网站
高并发高可.O2O.微服务架构用学习网站 https://www.itkc8.com 非常感谢http://www.cnblogs.com/skyblog/p/5044486.html 关于架构,笔者 ...
随机推荐
- Animatepacker for cocos2d-x 3.0 解析
AnimatePacker 是大神老G为cocos2d-x2.0做的一个很简洁的工具 近期 e 的新项目用的是最新的cocos2d-x 3.0,因此改进了对应的解析代码 说明: 1.工具还是用的之前的 ...
- Facebook数据库工具Flashcache初探
Flashcache是Facebook技术团队的又一力作,最初是为加速MySQL设计的.Flashcache是在Linux层面的,所以任何受磁盘IO困绕的软件或应用都可以方便的使用之. 1. Why ...
- json-lib包笔记
json-lib.jar开发包使用: 依赖包:commons-beanutils.jar;commons-httpclient.jar;commons-lang.jar;ezmorph.jar;不少人 ...
- Oracle常用系统查询SQL
以user1身份登录oracle,然后执行:select table_name from user_tables;或select table_name from tabs; 常用SQL --1.查询o ...
- 使用 kubeadm 搭建 kubernetes1.10 集群
PS:所有节点安装之前记得先把镜像准备好,否者将无法启动,也不报错. $ cat /etc/hosts192.168.11.1 master192.168.11.2 node 禁用防火墙: $ sys ...
- go语言基础之map赋值、遍历、删除 、做函数参数
1.map赋值 示例: package main //必须有个main包 import "fmt" func main() { m1 := map[int]string{1: &q ...
- WebSettings 文档 API 翻译 常用设置
. setDefaultFontSize(int size) Sets the default font size. The default is 16. setDefaultTextEncodin ...
- Hibernate 不同数据库的连接及SQL方言
<!--MySql 驱动程序 eg. mysql-connector-java-5.0.4-bin.jar--> <property name="dialect" ...
- JavaScript操作XML(二)
上一篇介绍了XML的结构以及节点之间的关系这一篇介绍浏览器内建的XML解析器以及JavaScript是如何加载XML的. 大多数浏览器都有读取和操作 XML 的内建 XML 解析器. 解析器(XML ...
- Java基础(十):封装
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法.封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访 ...