23使用服务集群改善网站并发处理能力

发布时间 2023-08-11 01:50:56作者: 无名量

增加服务器:一台变成N台

 

会出现几个问题:

哪一台服务器来转发请求(负载均衡)

请求的服务器,如何维护session的一致性(有状态与无状态的问题)

 

负载均衡:

请求到负载均衡服务器,在由负载均衡发给服务器

负载均衡技术:

七层:应用层:基于特定软件的负载均衡(http重定向)、反向代理服务器

http重定向,实现简单,但性能较差

代理服务器,实现简单,但性能较差

           传输层:

DNS域名解析负载均衡,效率比HTTP重定向高,减少维护负载均衡服务器成本

基于NAT的负载均衡:技术较为成熟,网关位置,通过硬件实现,四层交换机一般采用这种技术

负载均衡算法:

静态算法(不考虑动态负载)

轮转算法:

加权轮转算法:

源地址哈希散列算法:

目标地址哈希散列算法:

随机算法:

动态算法(考虑动态负载)

最小连接数算法

加权最小连接数算法

加权百分比算法:

 

硬件负载均衡F5

软件负载均衡:LVS Nginx  HAproxy

 

有状态和无状态:

无状态服务:服务器本身不存储任何信息

有状态服务:服务器本身存储信息

 

有状态与无状态共享机制

有状态变成无状态:

方案1携带session的cookie

方案2服务器间同步session

方案3将session存在redis(用的最多)

 

数据库的读写分离

为了提升效率,一台数据库负责读操作,另一台数据库负责写操作,数据库间进行复制

主从数据库结构特点:

一般一主多从

主库做写操作,从库做读操作

主从复制步骤

主库更新数据完成前,将操作写入日志文件

从库与主库连接,做binlong dump process 并将事件写入中继日志

从库执行中继日志事件,保持与主库一致

 

用缓存缓解读库的压力

分布式缓存服务器