当前位置: 首页 > news >正文

集群的概述和分类和负载均衡集群

集群的概述

分布式:由多台机器共同完成同一项任务的服务器构架方式

集群的分类

  • 负载均衡:多台机器完成同一类任务;对外表现为一个整体
  • 高可用性
  • 高性能计算

性能扩展方式

  • 垂直扩展:增加服务器硬件性能
  • 水平扩展:增加服务器数量负载

负载均衡性集群

  • 硬件:硬件负载均衡服务器(OSI模型的2,4,7层)
  • 软件:LVS(Linux Virtual Server):通过匹配ip地址和端口来决定数据包的处理方案

OSI中层级划分

  • 应用层负载(七层):nginx(默认支持七层,可通过特殊模块支持4层),通过拦截请求实现负载均衡,共有两次TCP连接
  • 传输层负载(四层):LVS(默认支持4层),通过转发请求实现负载均衡,共一次TCP连接
  • 链路层负载(二层):智能交换机,服务器——包含动态聚合(LACP协议)

实例:多级负载:高并发场景
            一级:LVS
            二级:Nginx Nginx
            真实服务器:httpd httpd httpd httpd

集群规则的增删改查

创建

语法:ipvsadm -A -t ip:port -s rr或ipvsadm -a -t ip:port -r ip1:port1 -m

选项:

  • -A:添加一个集群规则
  • -t:过滤数据包的条件,匹配数据包的传输协议是否是tcp
  • ip:port:过滤数据包的条件,匹配数据包的包头信息,即目标ip和目标port
  • -s rr:指定符合条件数据包的调度算法
  • -a:向已存在的集群规则中添加真实服务器列表
  • -r:指定真实服务器的ip和port
  • -m:LVS软件的工作模式(-m:NAT模式)

查看

语法:ipvsadm -ln

选项:

  • -l:列出
  • -n:数字化显示代码

删除

语法:ipvsadm -D -t ip:port或ipvsadm -d -t ip:port -r ip1:port1

选项:

  • -D:删除整个集群
  • -d:删除集群内的指定真实服务器

修改

语法:ipvsadm -E -t ip:port -s wrr -p 300或ipvsadm -e -t ip:port -r ip1:port1 -m -w n(数字)

选项:

  • -E:修改集群信息,列出算法类型
  • -p:持久化连接
  • -e:修改集群中真实服务器的信息,如权重比例

规则保存和还原

  • ipvsadm-save -n > filename:另存为,切记要使用-n选项进行保存
  • ipvsadm-restore < filename:还原

开启自启动集群规则

vim /etc/rc.d/rc.localipvsadm-restore < filename#记得添加执行权限
chmod +x /etc/rc.d/rc.local

防火墙服务

注:不管是ipvsadm还是iptables都是包过滤机制

  • 开启时自动加载规则配置文件,加载到内存中使其生效(让内核中的防火墙函数能够识别到)
  • 手动写的规则也是写入内存空间,服务即便不启动也会被内核中的防火墙函数识别到

1.丢弃数据包

#禁止icpm协议访问
[root@localhost ~]# iptables -A INPUT -p icmp -j DROP-A:追加规则
INPUT:入站时执行
-p:指定协议
-j:匹配规则后执行的动作

2.拒绝数据包

#清空防火墙规则
[root@localhost ~]# iptables -F
#拒绝icmp数据包
[root@localhost ~]# iptables -A INPUT -p icmp -j REJECT

3.放行数据包

#放行icmp数据包
[root@localhost ~]# iptables -A INPUT -p icmp -j ACCEPT

扩展——名词解释

  • Session(会话):是服务器端用于跟踪用户状态的机制,确保用户在多次请求中保持连续性,即持久化连接
  • Cookie :是服务器发送到客户端,客户端在后续请求中自动携带 Cookie,帮助服务器识别用户身份,不必再次登录验证

实验:Nginx和LVS负载效果对比实验

拓扑结构

一台测试机(3.130),一台调度器(+路由器)(3.140,4.140),两台真实服务器(httpd)(4.150,4.160),共享存储服务器(4.170)

1.准备工作

类型ip服务虚拟ip
测试机192.168.3.130curl,浏览器
调度器+路由器

192.168.3.140

192.168.4.140

LVS(IPVS),Nginx192.168.3.140
真实服务器1192.168.4.150httpd
真实服务器2192.168.4.160httpd
共享存储服务器192.168.4.170NFS

2.构建共享存储

4.170

# 创建共享目录
$ mkdir /data/www -p
# 安装RPCbind和NFS服务
$ dnf -y install rpcbind nfs-utils
# 编写共享配置文件,设置共享目录,共享对象,共享权限,映射关系,同步方式
$ vim /etc/exports
/data/www 192.168.4.0/24(rw,all_squash,sync)
$ chown nobody:nobody /data/www
# 启动服务
$ systemctl enable --now rpcbind
$ systemctl enable --now nfs-server

3.构建web服务

4.150,4.160

# 分别在两台web服务器上进行httpd软件的安装和共享存储的挂载
$ dnf -y install httpd
$ mount 192.168.4.170:/data/www /var/www/html
# 为两个web服务器创建各自专属的首页文件
$ echo "web server 130..." >> /var/www/html/index130.html
$ echo "web server 140..." >> /var/www/html/index140.html
# 分别修改两个web服务器配置文件的DirectoryIndex选项绑定各自的首页文件
130主机绑定index130.html
140主机绑定index140.html
# 启动服务
$ systemctl enable --now httpd

4.构建代理服务器

3.140——记得开启路由转发功能

[root@localhost ~]# dnf -y install nginx
[root@localhost ~]# vi /etc/nginx/nginx.conf
upstream apache {server 192.168.4.150;server 192.168.4.160;}server {location / {proxy_pass http://apache;}[root@localhost ~]# systemctl enable --now nginx

5.测试nginx负载效果

在测试机(3.130)上访问nginx代理服务器

总结:nginx负载均衡是通过拦截测试机的http请求实现的,拦截后再通过本地ip地址访问apache服务器,共经过了两次tcp连接

6.构建LVS负载服务器

3.140

# LVS 分为内核空间的IPVS模块和用户空间的ipvsadm命令,IPVS模块是内核的一部分不需要安
装,只需要验证是否启用即可;ipvsadm命令则需安装才能使用
# 验证IPVS模块是否启用
$ grep -i "ip_vs" /boot/config-5.14.0-427.13.1.el9_4.x86_64 
# 安装ipvsadm命令
$ dnf -y install ipvsadm[root@localhost ~]# ipvsadm -A -t 192.168.3.140:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.3.140:80 -r 192.168.4.150:80 -m
[root@localhost ~]# ipvsadm -a -t 192.168.3.140:80 -r 192.168.4.160:80 -m
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.3.140:80 rr-> 192.168.4.150:80             Masq    1      0          0         -> 192.168.4.160:80             Masq    1      0          0         
[root@localhost ~]# 

3.130测试

总结:LVS传输层负载均衡服务器通过转发http请求实现负载均衡,共经过一次tcp连接

http://www.dtcms.com/a/423745.html

相关文章:

  • 专业的商城网站开发搜索引擎优化不包括
  • 哈尔滨市延寿建设局网站wordpress 主题添加
  • 技术实践指南:多模态RAG从数据预处理到生成响应的完整流程
  • 新中地三维GIS开发智慧城市效果和应用场景
  • 做产品封面的网站赵公口网站建设公司
  • Redis开发07:使用stackexchange.redis库实现简单消息队列
  • RabbitMQ的安装集群、镜像队列配置
  • php 网站后台模板zencart外贸网站建设
  • IS-IS 与 OSPF 路由汇总机制:边界、应用与核心差异深度分析报告
  • 福彩双色球第2025113期篮球号码分析
  • 做网站公司 蓝纤科技百姓网二手车
  • Dubbo源码解读与实战-基础知识(上)
  • 专业网站制作公司招聘造一个官方网站
  • 【网络通信】服务器部署服务的时候服务ip配置127.0.0.1和外网ip的区别
  • 【C++】命名空间
  • [特殊字符] LeetCode 143 重排链表(Reorder List)详解
  • 轻量级webgis环境搭建
  • 内网网站搭建教程做平面设计都在那个网站找免费素材
  • 网站备案都有哪些服务类网站模板
  • QT常用快捷键
  • 企业级智能体产业落地实践报告 - 智能体发展展望
  • 建设电子商务平台网站施工企业安全生产评价表下载
  • 如何在 vscode 里配置 MCP 并连接到 Elasticsearch
  • 开源安全管理平台wazuh-安装与配置
  • 开发区建网站外包上海小程序开发与制作公司
  • 常州做网站建设的公司网络营销的优势有哪些?
  • Zookeeper 技术详细介绍
  • 精美个人网站电子商务基础网站建设与维护单项选择题
  • 菜鸟教程网站建设培训网站建设方案说明书
  • 直播间 网站建设南京市建设工程网站