分布式网站技术
Linux virtual Server
Lvs NAT
地址转换技术
重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器
真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程
Lvs ip-tun
IP隧道技术
Lvs dr
直接路由技术
网站加速技术
Squid 反向代理 缓存技术
静态数据
: 静态页面 图片/FULUSH CSS文件 JS文件动态数据
: 从数据库里取出来的数据Squid
可以做代理服务器,代替用户去访问网站,同时缓存该网站的数据,当用户再次访问时,可以直接使用缓存里数据Squid
可以反向代理服务器,分离静态和动态数据
伪静态化
Apache
里的mod_rewrite
模板技术实现页面静态化
Sphinx 全文索引
Sphinx
基于SQL的全文检索引擎,可以结合MySQL
和PostgreSQL
做全文搜索中文分词
技术
服务器监控
Apache web
服务监控mysql
数据库监控磁盘空间监控
流量监控
网站流量监控
Postfix
邮件报警系统Mrtg
流量监控 + shell(实现邮件报警)cacti
+ PHP 程序监控(实现邮件报警)
压力测试
apache
自带的压力测试软件ab
测试apache benchmark
基准测试工具mysqlslap
工具,模拟多个并发客户端访问mysql
来执行测试
负载均衡
利用DNS轮询方式实现
实现:在域名商那里设置同一个域名到多个IP的A记录就行,非常简单
缺点1:可靠性低,假如启动一台服务器发生故障,把该服务器IP从域名映射中删除,还需要
TTL
时间段,去刷新全网的DNS缓存缺点2:负载分配不平衡,性能强的服务器与性能差的服务器获得一样的流量
适用对象:可靠性要求不高的服务器集群,比如图片服务器集群、纯静态网页服务器集群
➜ html dig nginx.codekissyoung.com
; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> nginx.codekissyoung.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7153
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;nginx.codekissyoung.com. IN A
;; ANSWER SECTION:
nginx.codekissyoung.com. 600 IN A 101.200.144.41
nginx.codekissyoung.com. 600 IN A 60.205.177.197
;; Query time: 5 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Thu Oct 11 17:47:08 CST 2018
;; MSG SIZE rcvd: 84