目录

分布式网站技术

Linux virtual Server 网络负载均衡

Lvs NAT 地址转换技术

  • 重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器

  • 真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程

Lvs ip-tunIP隧道技术

Lvs dr直接路由技术

网站加速技术

Squid 反向代理 缓存技术

  • 静态数据: 静态页面 图片/FULUSH CSS文件 JS文件

  • 动态数据: 从数据库里取出来的数据

  • Squid 可以做代理服务器,代替用户去访问网站,同时缓存该网站的数据,当用户再次访问时,可以直接使用缓存里数据

  • Squid 可以反向代理服务器,分离静态和动态数据

伪静态化

  • Apache里的mod_rewrite

  • 模板技术实现页面静态化

Memcache技术

  • 将图像,视频,文件,以及从数据库里检索的结果,保存到内存里,下次访问时直接访问内存

  • 最常见的一个应用就是作为 SQL 查询结果的一个缓存

Sphinx 全文索引

  • Sphinx 基于SQL的全文检索引擎,可以结合MySQLPostgreSQL做全文搜索

  • 中文分词 技术

服务器监控

  • 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