高并发解决方案

什么是DNS解析域名

DNS域名解析就是将域名转化为不需要显示IP、端口(二级域名的端口一般为80)的IP地址,域名解析的一般先去本地环境的host文件读取配置,解析成对应的IP地址,根据IP地址访问对应的服务器。若host文件未配置,则会去网络运营商获取对应的IP地址和域名。

Nginx

Nginx的作用

反向代理、负载均衡、配置主备tomcat、动静分离

应用场景

做Http服务器、反向代理服务器、静态资源服务器

什么是反向代理

代替真实的服务器去接收网络请求,然后将请求转发到不同的真实服务器。

如何配置反向代理

首先到DNS服务器做域名解析,如果是局域网在Hosts文件中配置IP和域名对应关系。
编辑nginx的nginx.conf文件,配置server_name为指向nginx服务器的域名,location拦截请求,如果是访问本地资源则配置root,如果是反向代理到真实服务器则配置proxy_pass为真实服务器地址。

常用Nginx的相关配置

upstream负载均衡配置。
server [IP] [weight] [backup] 配置tomcat集群。
proxy_connect_timeout、proxy_read_timeout、proxy_send_timeout连接时间、真实服务器响应时间、返回结果时间。
location 匹配用户请求的url,根据不同请求转发到不同的服务器。
root配置本地资源路径。
proxy_pass 配置真实服务器地址。

如何配置负载均衡

在upstream中配置多个server,在location的proxy_pass配置为http://+upstream名称。

Nginx如何实现动态负载均衡

四层代理、七层代理

LVS与Nginx区别

LVS是四层反向代理,基于TCP和UDP协议,可以用于管理Nginx集群,抗负载能力强。
Nginx是七层反向代理,基于Http协议,用于管理真实服务器集群。

四层负载均衡和七层负载均衡区别

四层负载均衡基于TCP和UDP协议,通过IP+端口号接受请求并转发到服务器。
七层负载均衡基于Http协议,通过url或主机名接收请求并转发到服务器。

四层负载均衡有哪些实现方案

LVS、F5

负载均衡有哪些算法

轮询算法

按照实际顺序分配到不同的服务器,当其中一台服务器宕机则被自动剔除,切换到正常的服务器。

权重算法

按照分配给服务器的权重比例来分发到不同服务器,权重比例越高,则访问的几率越大。

IP绑定(ip_hash):根据访问的IP的hash结果来判定,使同一个IP访问一台固定的后端服务器,同时解决了动态页面的session问题。

服务器分布式后,产生的问题

分布式锁

可以使用redis setnx分布式锁,解决多个服务器并发访问同一个创建、修改操作(该操作必须串行操作)。

分布式全局ID

分布式Session一致性问题

分布式事务

分布式任务掉

可以通过在数据库中设置定时任务名称即执行状态,如果有机器执行了定时任务,修改数据库中状态,后来的服务器先查询任务状态,如果已经在执行或者执行完成就不会再去执行任务。

分布式日志收集

分布式配置中心

Keepalived

LVS与Keepalived区别

Lvs可以实现负载均衡,但是无法实现健康检查。Keepalived可以进行健康检查实现高可用。

作用

keepalived软件可以进行健康检查,而且能同时实现LVS的高可用性,解决LVS的单点故障的问题。

如何实现双机主从热备

Nginx+Tomcat:在upsteam中配置多台服务器,从服务器后加backup。
Keepalived+Nginx:在多台nginx服务器上安装keepalived,将主服务器的state设置为MASTER,从服务器state设置为BACKUP,主服务器的优先级高于从服务器。

LVS+Keepalived+Nginx架构流程图

在这里插入图片描述

项目的高可用

项目发布如何不影响正常用户访问

可用两台服务器互为热备,平时各自负责各自的服务。在做线上更新的时候,关闭一台服务器的tomcat后,Nginx自动把流量切换到另外一台热备服务器上,从而实现无痛更新,保持了服务的高可用性。

项目发生宕机了,如何处理

使用LVS+Keepalived+Nginx做主从热备,LVS管理Nginx集群,Nginx管理tomcat服务集群,在服务器宕机的情况下,keepalived健康检测到后,多次重启无果可以短信通知运维人员及时维护。

如何控制浏览器静态资源缓存问题

一般的服务器是强制F5进行刷新或者是清除缓存,最有效的方法是在请求资源后面加上时间戳或者随机数。

参考

https://blog.csdn.net/q15102780705/article/details/100586366

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

融极

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值