短轮询和长轮询

轮询是由客户端每隔一段时间向服务器发出HTTP请求,服务端接收到请求后向客户端返回最新的数据。
客户端的轮询方式一般分为短轮询和长轮询。
短轮询
一般是由客户端每隔一段时间向服务器发起一次普通HTTP请求。服务端查询当前接口是否有数据更新,若有数据更新则向客户端返回最新数据,若无则提示客户端无数据更新。
优点:比较简单,通过定时器在固定的间隔里不断发送请求。
缺点:多条请求并不是每条都是有用的,会有很多无用请求,占据服务器资源和宽带,并且维护困难,响应的结果没有顺寻(因为是异步请求)只适用与小型应用。
长轮询:
一般是由客户端向服务器发出一个设置较长网络超时时间的HTTP请求,并在Http连接超时前,不主动断开连接;带颗段超时或有数据返回后,再次建立一个同样的Http请求,重复以上过程。
优点:无消息时不会频繁请求,占用资源较少。
缺点:服务器滞留信息会耗费资源,返回信息顺序无法保证,维护困难。
在这里插入图片描述

### 配置 Nginx Keepalived 实现负载均衡轮询调度 #### 安装基本配置 为了实现基于 Nginx 的 HTTP 请求分发以及通过 Keepalived 提供高可用性,需先确保两者的正确安装。 对于 Nginx,默认网页文件位于 `/usr/share/nginx/html/` 文件夹下[^2]。这表示可以放置自定义的 HTML 页面到此目录用于测试目的。 #### Nginx 负载均衡配置 在 Nginx 中设置负载均衡可以通过编辑其配置文件来完成。通常情况下,该文件位于 `/etc/nginx/nginx.conf` 或者专门创建一个新的 `.conf` 文件放在 `sites-available` 目录内并链接至 `sites-enabled`。下面是一个简单的例子展示如何利用上游模块(upstream)来进行服务器间的请求分配: ```nginx http { upstream backend_servers { least_conn; server 192.168.80.106 weight=5 max_fails=2 fail_timeout=30s; server 192.168.80.107 backup; } server { listen 80; location / { proxy_pass http://backend_servers; } } } ``` 上述配置实现了对两个后端 Web 服务节点 (IP 地址分别为 192.168.80.106 及 192.168.80.107) 进行加权最少连接数算法(weighted least connections algorithm)[^3]下的流量转发;其中第二个节点被标记为备用(`backup`)角色,在其他活动成员不可用时才会启用它作为替代方案之一。 #### Keepalived 设置 VRRP 协议保障 HA Keepalived 主要依赖于 Virtual Router Redundancy Protocol(VRRP),这是一种用来提高网络设备冗余度的标准协议。以下是简化版的 Keepalived 配置样例,适用于主备模式部署场景: ```bash vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 192.168.80.100 } } track_script { chk_http_port } ``` 这段脚本指定了当前实例的角色为主(master), 使用外部接口 `eth0`, 设定虚拟路由器 ID (`virtual_router_id`) 来区分不同的 VRRP 组,并赋予较高优先级(数值越大越优)使得当多个候选者竞争同一 VIP(virtual IP address)资源时能够胜出成为活跃网关。同时启用了健康检查机制(track_script),以监控本地应用的状态变化从而决定是否转移VIP所有权给备份节点[^4]。 #### 结合两者构建完整的解决方案 将以上提到的技术结合起来就可以搭建起一套具备自动故障切换能力的服务集群架构。每当有新的更改应用于 Nginx 后,则应当执行命令 `nginx -s reload` 让改动生效而不中断现有会话[^1]。而一旦检测到主控机发生异常情况,Keepalived 将迅速响应并将浮动 IP 移交给另一台存活的工作站继续提供不间断访问支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值