服务器集群笔记

来源:互联网 发布:backbone.js 教程 编辑:程序博客网 时间:2024/05/16 06:19
常用的Apache lightpd nginx 省资源 省cpu


高可用  high availate 确保服务器能够提供无间断的服务 即使部分坏了还可以使用
   就是使用备份服务器 备用服务器检测主服务器  keepalived 监测服务 出问题后接管服务器并发邮件

   heartbeat

高并发 网站的访问量 一秒钟的访问量 网站浏览统计 ip pv 700 一千以内 ab 软件 压力测试
常用压力测试软件 ab 可以模拟各种请求
webbench  3万的并发只能模仿get请求 不能实现注册的模拟
LoadRunner 专业 压力测试软件 企业软件

集群 负载均衡  1000个用户的并发  请求的是负载均衡的服务器 来进行转发

策略 一台服务器处理一个请求 一人一次 轮询查找 刷新的时候 第一次是第一台
轮询
ip_hash 同一个ip地址始终请求的是同一台服务器
nat
最少连接 把请求给最少的服务器 根据负载分配


一般把域名绑定到负载均衡的服务器 后端处理数据


实现 硬件类似路由器 价格昂贵 性能稳定 F5 网游并发
软件 成本低 性能不如硬件  Linux virtual server  
lvs 工作第四层  网站 数据库 ftp  Linux 内核里面东西
haproxy 工作在第四层  可以做基于tcp/ip 协议的负载均衡  联网软件 基本都基于此协议
nginx 4-7层 物理层 管理网卡  工作第七层 只能做应用层 只能做http协议的负载均衡 只能做web负载均衡

  连接池
集群的理解 休眠状态和激活状态 冗余技术也叫集群技术


一个大网站 需要哪些功能的扩展

一个网站在大流量的时候要额外的扩展   在图片 文件 视频 服务里面搭建ftp服务器
  1在网站开发的中 尽量使用小的图片
  2 尽量使用背景图片
 3 使用Apache压缩技术gzip defalte
 4使用cdn加速 内容分发网络 产品
 自己买带宽+分流
    


 
  1 如果网站的服务器处理图片很多 一个大网站的图片处理服务器   有一个网站提交表单到php服务器 怎么把图片放到 图片服务器里面
   1 单独使用插件把图片上传到图片服务器  2随表单提交 使用php把图片提交到图片服务器 写一个程序 把文件写到另一台服务器上面  使用php写程序来操作ftp服务器 区别在于哪里
 用户在访问页面的时候 请求了html代码 在php服务器  请求回来之后会解析HTML代码 发现图像src 然后在解析 发http协议 下载图片 每一图片都是一个连接 在连接的时候 请求图片的二级域名的服务器
 对于和php无关的则请求另外的  
 对图片服务器专门优化 服务器占硬盘 带宽 磁盘阵列 对cpu和内存要求很低
php 服务器对硬盘要求不多  对内存和cup要求很高
负载均衡的优化 网卡要求好点 来转发数据 返回数据 不经过负载均衡 后端服务器要联网 加路由 对个负载均衡的簇 不会构建超大的负载均衡

什么叫磁盘阵列 硬盘有IO 硬盘的请求的数量有限制  一秒读出一万张  硬盘多块一起工作 raid
raido 至少两块 分布都对快硬盘
radio1  至少 数据复制多块硬盘 读时对快硬盘读 对个硬盘也是同样的数据
raid5 至少三块 结合前两者
raid1+0 性能更好


2 数据库 数据库服务器实现主从复制  主服务器的修改会同步到从服务器上面  写和读分摊到不同的服务器 php 连接主从服务器要做程序判断

实时 微博 实时的优缺点  优点 相对于memcache 不涉及数据的丢失 每个数据实时写到数据库 安全 不会出现数据丢失
   可以存储大的数据量 没什么限制
   缺点 速度稍微慢点
    成本高
读写分离  】】
优点 速度快 使用简单
数据存在内存中容易丢失 内存小 存的数据量小

如何达到数据块 安全的解决方法 重要的用数据库 不重要的memcache 都重要的写两次 读从memcache
   结合写时候向两个都写 读的时候从memcache 读
搭两个memcache
数据缓存 memcache redis 然后php主要操作memcache  定期把memcache 中的数据同步到数据库
生成静态页  专门的静态页 缓存服务器
  用户先请求缓存服务器 有的话 返回 没有向php请求 穿透 也叫反向代理服务器 反向服务器来请求服务器 用户不访问php服务器


缓存服务器  在负载均衡的后面 也有多台  4 台 缓存 2台 php  适合cms系统
缓存服务器 squid varnish  缓存服务器的优化 主要是硬盘和带宽

服务器的价位5000 -8000 企业网站负载均衡的服务器
10000-20000 以php为主的 电子商务
3000-4000游戏服务器 数据库服务器


高可用服务器集群 负载均衡服务器 备份的负载均衡 一直做监控 监控主服务器 接管主服务器 给管理员发邮件 keepalive



最终的实现 带宽很贵 350M带宽 60多万/年  +硬件 12 +租金+8

租机房 外网的ip地址  还要买一个防火墙先请求防火墙 自己买一个交换机 不使用机房的局域网 这样更安全


集群环境的session丢失 解决 session共享
考虑 php服务器的session丢失问题
把session 存在一个公共的地方 存在数据库里面 session 入库
session 存memcache
负载均衡的策略使用 ip_hash 同一ip只访问同一台
0 0