keepalived和lvs高可用集群

news2024/12/23 6:34:43

keepavlied和lvs高可用集群搭建

主备模式:

在这里插入图片描述

关闭防火墙和selinux

systemctl stop firewalld
setenforce 0

部署master负载调度服务器 zyj86

安装ipvsadm keepalived

yum install -y keepalived ipvsadm

修改主节点配置

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost #邮件设置
   }
   notification_email_from root@localhost
   #发邮件的地址
   smtp_server 127.0.0.1
   #邮件服务器地址
   smtp_connect_timeout 30
   #邮件服务器连接timeout
   router_id zyjhost86 #每个keepalived主机的唯一标识,建议使用主机名
   vrrp_skip_check_adv_addr
   #对所有通告报文都检查,会比较消耗性能,启用此配置后,如果收到的通告报文和上一个报文是同一个路由器,则跳过检查,默认值为全检查
   #vrrp_strict
   #严格遵守VRRP协议,启用此项后以下状况将无法启动服务:1.无VIP地址 2.配置了单播邻居 3.在VRRP版本2中有IPv6地址,开启动此项并且没有配置vrrp_iptables时会自动开启iptables防火墙规则,默认导致VIP无法访问,建议不加此项配置。
   vrrp_garp_interval 0
   #gratuitous ARP messages 免费ARP报文发送延迟,0表示不延迟
   vrrp_gna_interval 0 
   #unsolicited NA messages (不请自来)消息发送延迟
}

vrrp_instance VI_1 {
    state MASTER 
    #当前节点在此虚拟路由器上的初始状态,状态为MASTER或者BACKUP
    interface ens160
    virtual_router_id 51 
    #每个虚拟路由器惟一标识,范围:0-255,每个虚拟路由器此值必须唯一,否则服务无法启动,同属一个虚拟路由器的多个keepalived节点必须相同,务必要确认在同一网络中此值必须唯一
    priority 100 #优先级,master优先级一定要大于backup
    #当前物理节点在此虚拟路由器的优先级,范围:1-254,值越大优先级越高,每个keepalived主机节点此值不同
    advert_int 1 #master和backup之间通告间隔的秒数(心跳频率)
    authentication {
        auth_type PASS #认证信息
        auth_pass 1111 #认证信息
    }
    virtual_ipaddress {
        192.168.3.188 #虚拟ip地址
    }
}

#虚拟地址 端口
virtual_server 192.168.3.188 80 {
    delay_loop 6
    #健康间隔时间6秒
    lb_algo rr
    #调度算法轮询
    lb_kind DR
    #lvs模式为DR直连路由模式
    persistence_timeout 50
    #连接保持时间为50 可以修改为0 轮询较快
    protocol TCP
    #采用协议
    
#后端真实服务器节点的ip地址
    real_server 192.168.3.88 80 {
        weight 1
        #节点权重
          TCP_CHECK {
          connect_port 80
          #检查目标端口
          connect_timeout 3
          #连接超时 
          nb_get_retry 3
          #重试次数
          delay_before_retry 3
          #重试间隔时间
        }
        #tcp检测后端服务器节点是否正常
    }

    real_server 192.168.3.89 80 {
        weight 1
          TCP_CHECK {
          connect_port 80
          connect_timeout 3
          nb_get_retry 3
          delay_before_retry 3
        }
    }

}
systemctl enable --now keepalived.service

部署backup负载调度服务器 zyj87

安装ipvsadm keepalived

yum install -y keepalived ipvsadm

修改备用节点配置

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost #邮件设置
   }
   notification_email_from root@localhost
   #发邮件的地址
   smtp_server 127.0.0.1
   #邮件服务器地址
   smtp_connect_timeout 30
   #邮件服务器连接timeout
   router_id zyjhost87 #每个keepalived主机的唯一标识,建议使用主机名
   vrrp_skip_check_adv_addr
   #对所有通告报文都检查,会比较消耗性能,启用此配置后,如果收到的通告报文和上一个报文是同一个路由器,则跳过检查,默认值为全检查
   #vrrp_strict
   #严格遵守VRRP协议,启用此项后以下状况将无法启动服务:1.无VIP地址 2.配置了单播邻居 3.在VRRP版本2中有IPv6地址,开启动此项并且没有配置vrrp_iptables时会自动开启iptables防火墙规则,默认导致VIP无法访问,建议不加此项配置。
   vrrp_garp_interval 0
   #gratuitous ARP messages 免费ARP报文发送延迟,0表示不延迟
   vrrp_gna_interval 0 
   #unsolicited NA messages (不请自来)消息发送延迟
}

vrrp_instance VI_1 {
    state BACKUP 
    #当前节点在此虚拟路由器上的初始状态,状态为MASTER或者BACKUP
    interface ens160
    virtual_router_id 51 
    #每个虚拟路由器惟一标识,范围:0-255,每个虚拟路由器此值必须唯一,否则服务无法启动,同属一个虚拟路由器的多个keepalived节点必须相同,务必要确认在同一网络中此值必须唯一
    priority 99 #优先级,master优先级一定要大于backup
    #当前物理节点在此虚拟路由器的优先级,范围:1-254,值越大优先级越高,每个keepalived主机节点此值不同
    advert_int 1 #master和backup之间通告间隔的秒数(心跳频率)
    authentication {
        auth_type PASS #认证信息
        auth_pass 1111 #认证信息
    }
    virtual_ipaddress {
        192.168.3.188 #虚拟ip地址
    }
}

#虚拟地址 端口
virtual_server 192.168.3.188 80 {
    delay_loop 6
    #健康间隔时间6秒
    lb_algo rr
    #调度算法轮询
    lb_kind DR
    #lvs模式为DR直连路由模式
    persistence_timeout 50
    #连接保持时间为50 可以修改为0 轮询较快
    protocol TCP
    #采用协议
    
#后端真实服务器节点的ip地址
    real_server 192.168.3.88 80 {
        weight 1
        #节点权重
          TCP_CHECK {
          connect_port 80
          #检查目标端口
          connect_timeout 3
          #连接超时 
          nb_get_retry 3
          #重试次数
          delay_before_retry 3
          #重试间隔时间
        }
        #tcp检测后端服务器节点是否正常
    }

    real_server 192.168.3.89 80 {
        weight 1
          TCP_CHECK {
          connect_port 80
          connect_timeout 3
          nb_get_retry 3
          delay_before_retry 3
        }
    }

}
systemctl enable --now keepalived.service

keepalived会在ens160网卡上生成一个vip虚拟地址192.168.3.188

[root@zyj86 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:29:83:01 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.3.86/24 brd 192.168.3.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet 192.168.3.188/32 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe29:8301/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

当主节点(192.168.3.86 zyj86)宕机后vip虚拟地址(192.168.3.188)会飘移到备用节点上即(192.168.3.87 zyj87)主机上。

部署后端服务器zyj88

#配置lo口ip地址
ifconfig lo:1 192.168.3.188/32
echo "ifconfig lo:1 192.168.3.188/32" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

#添加系统只响应目的IP为本地IP的ARP请求
#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP
vim /etc/sysctl.conf
#加入以下配置
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

#刷新配置
sysctl -p

安装web服务器 写入测试页面

yum install httpd -y
echo "zyj88" > /var/www/html/index.html
systemctl enable --now httpd

部署后端服务器zyj89

#配置lo口ip地址
ifconfig lo:1 192.168.3.188/32
echo "ifconfig lo:1 192.168.3.188/32" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

#添加系统只响应目的IP为本地IP的ARP请求
#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP
vim /etc/sysctl.conf
#加入以下配置
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

#刷新配置
sysctl -p

安装web服务器 写入测试页面

yum install httpd -y
echo "zyj89" > /var/www/html/index.html
systemctl enable --now httpd

访问测试:
在这里插入图片描述

互为主备模式:

在这里插入图片描述

关闭防火墙和selinux

systemctl stop firewalld
setenforce 0

部署master/backup负载调度服务器 zyj86

安装ipvsadm keepalived

yum install -y keepalived ipvsadm

修改负载调度服务器 zyj86配置

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost #邮件设置
   }
   notification_email_from root@localhost
   #发邮件的地址
   smtp_server 127.0.0.1
   #邮件服务器地址
   smtp_connect_timeout 30
   #邮件服务器连接timeout
   router_id zyjhost86 #每个keepalived主机的唯一标识,建议使用主机名
   vrrp_skip_check_adv_addr
   #对所有通告报文都检查,会比较消耗性能,启用此配置后,如果收到的通告报文和上一个报文是同一个路由器,则跳过检查,默认值为全检查
   #vrrp_strict
   #严格遵守VRRP协议,启用此项后以下状况将无法启动服务:1.无VIP地址 2.配置了单播邻居 3.在VRRP版本2中有IPv6地址,开启动此项并且没有配置vrrp_iptables时会自动开启iptables防火墙规则,默认导致VIP无法访问,建议不加此项配置。
   vrrp_garp_interval 0
   #gratuitous ARP messages 免费ARP报文发送延迟,0表示不延迟
   vrrp_gna_interval 0 
   #unsolicited NA messages (不请自来)消息发送延迟
}

vrrp_instance VI_1 {
    state MASTER 
    #当前节点在此虚拟路由器上的初始状态,状态为MASTER或者BACKUP
    interface ens160
    virtual_router_id 51 
    #每个虚拟路由器惟一标识,范围:0-255,每个虚拟路由器此值必须唯一,否则服务无法启动,同属一个虚拟路由器的多个keepalived节点必须相同,务必要确认在同一网络中此值必须唯一
    priority 100 #优先级,master优先级一定要大于backup
    #当前物理节点在此虚拟路由器的优先级,范围:1-254,值越大优先级越高,每个keepalived主机节点此值不同
    advert_int 1 #master和backup之间通告间隔的秒数(心跳频率)
    authentication {
        auth_type PASS #认证信息
        auth_pass 1111 #认证信息
    }
    virtual_ipaddress {
        192.168.3.188 #虚拟ip地址
    }
}

#互为主备就再加一组配置
vrrp_instance VI_2 {
    state BACKUP 
    #当前节点在此虚拟路由器上的初始状态,状态为MASTER或者BACKUP
    interface ens160
    virtual_router_id 40
    #每个虚拟路由器惟一标识,范围:0-255,每个虚拟路由器此值必须唯一,否则服务无法启动,同属一个虚拟路由器的多个keepalived节点必须相同,务必要确认在同一网络中此值必须唯一
    priority 90 #优先级,master优先级一定要大于backup
    #当前物理节点在此虚拟路由器的优先级,范围:1-254,值越大优先级越高,每个keepalived主机节点此值不同
    advert_int 1 #master和backup之间通告间隔的秒数(心跳频率)
    authentication {
        auth_type PASS #认证信息
        auth_pass 2222 #认证信息
    }
    virtual_ipaddress {
        192.168.3.199 #虚拟ip地址
    }
}

#虚拟地址 端口
virtual_server 192.168.3.188 80 {
    delay_loop 6
    #健康间隔时间6秒
    lb_algo rr
    #调度算法轮询
    lb_kind DR
    #lvs模式为DR直连路由模式
    persistence_timeout 50
    #连接保持时间为50 可以修改为0 轮询较快
    protocol TCP
    #采用协议
    
#后端真实服务器节点的ip地址
    real_server 192.168.3.88 80 {
        weight 1
        #节点权重
          TCP_CHECK {
          connect_port 80
          #检查目标端口
          connect_timeout 3
          #连接超时 
          nb_get_retry 3
          #重试次数
          delay_before_retry 3
          #重试间隔时间
        }
        #tcp检测后端服务器节点是否正常
    }

    real_server 192.168.3.89 80 {
        weight 1
          TCP_CHECK {
          connect_port 80
          connect_timeout 3
          nb_get_retry 3
          delay_before_retry 3
        }
    }

}

#互为主备就再加一组配置
#虚拟地址 端口
virtual_server 192.168.3.199 80 {
    delay_loop 6
    #健康间隔时间6秒
    lb_algo rr
    #调度算法轮询
    lb_kind DR
    #lvs模式为DR直连路由模式
    persistence_timeout 50
    #连接保持时间为50 可以修改为0 轮询较快
    protocol TCP
    #采用协议
    
#后端真实服务器节点的ip地址
    real_server 192.168.3.88 80 {
        weight 1
        #节点权重
          TCP_CHECK {
          connect_port 80
          #检查目标端口
          connect_timeout 3
          #连接超时 
          nb_get_retry 3
          #重试次数
          delay_before_retry 3
          #重试间隔时间
        }
        #tcp检测后端服务器节点是否正常
    }

    real_server 192.168.3.89 80 {
        weight 1
          TCP_CHECK {
          connect_port 80
          connect_timeout 3
          nb_get_retry 3
          delay_before_retry 3
        }
    }

}
systemctl enable --now keepalived.service

部署master/backup负载调度服务器 zyj87

安装ipvsadm keepalived

yum install -y keepalived ipvsadm

修改负载调度服务器 zyj87配置

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost #邮件设置
   }
   notification_email_from root@localhost
   #发邮件的地址
   smtp_server 127.0.0.1
   #邮件服务器地址
   smtp_connect_timeout 30
   #邮件服务器连接timeout
   router_id zyjhost86 #每个keepalived主机的唯一标识,建议使用主机名
   vrrp_skip_check_adv_addr
   #对所有通告报文都检查,会比较消耗性能,启用此配置后,如果收到的通告报文和上一个报文是同一个路由器,则跳过检查,默认值为全检查
   #vrrp_strict
   #严格遵守VRRP协议,启用此项后以下状况将无法启动服务:1.无VIP地址 2.配置了单播邻居 3.在VRRP版本2中有IPv6地址,开启动此项并且没有配置vrrp_iptables时会自动开启iptables防火墙规则,默认导致VIP无法访问,建议不加此项配置。
   vrrp_garp_interval 0
   #gratuitous ARP messages 免费ARP报文发送延迟,0表示不延迟
   vrrp_gna_interval 0 
   #unsolicited NA messages (不请自来)消息发送延迟
}

vrrp_instance VI_1 {
    state MASTER 
    #当前节点在此虚拟路由器上的初始状态,状态为MASTER或者BACKUP
    interface ens160
    virtual_router_id 51 
    #每个虚拟路由器惟一标识,范围:0-255,每个虚拟路由器此值必须唯一,否则服务无法启动,同属一个虚拟路由器的多个keepalived节点必须相同,务必要确认在同一网络中此值必须唯一
    priority 100 #优先级,master优先级一定要大于backup
    #当前物理节点在此虚拟路由器的优先级,范围:1-254,值越大优先级越高,每个keepalived主机节点此值不同
    advert_int 1 #master和backup之间通告间隔的秒数(心跳频率)
    authentication {
        auth_type PASS #认证信息
        auth_pass 1111 #认证信息
    }
    virtual_ipaddress {
        192.168.3.188 #虚拟ip地址
    }
}

#互为主备就再加一组配置
vrrp_instance VI_2 {
    state MASTER 
    #当前节点在此虚拟路由器上的初始状态,状态为MASTER或者BACKUP
    interface ens160
    virtual_router_id 40
    #每个虚拟路由器惟一标识,范围:0-255,每个虚拟路由器此值必须唯一,否则服务无法启动,同属一个虚拟路由器的多个keepalived节点必须相同,务必要确认在同一网络中此值必须唯一
    priority 95 #优先级,master优先级一定要大于backup
    #当前物理节点在此虚拟路由器的优先级,范围:1-254,值越大优先级越高,每个keepalived主机节点此值不同
    advert_int 1 #master和backup之间通告间隔的秒数(心跳频率)
    authentication {
        auth_type PASS #认证信息
        auth_pass 2222 #认证信息
    }
    virtual_ipaddress {
        192.168.3.199 #虚拟ip地址
    }
}

#虚拟地址 端口
virtual_server 192.168.3.188 80 {
    delay_loop 6
    #健康间隔时间6秒
    lb_algo rr
    #调度算法轮询
    lb_kind DR
    #lvs模式为DR直连路由模式
    persistence_timeout 50
    #连接保持时间为50 可以修改为0 轮询较快
    protocol TCP
    #采用协议
    
#后端真实服务器节点的ip地址
    real_server 192.168.3.88 80 {
        weight 1
        #节点权重
          TCP_CHECK {
          connect_port 80
          #检查目标端口
          connect_timeout 3
          #连接超时 
          nb_get_retry 3
          #重试次数
          delay_before_retry 3
          #重试间隔时间
        }
        #tcp检测后端服务器节点是否正常
    }

    real_server 192.168.3.89 80 {
        weight 1
          TCP_CHECK {
          connect_port 80
          connect_timeout 3
          nb_get_retry 3
          delay_before_retry 3
        }
    }

}

#互为主备就再加一组配置
#虚拟地址 端口
virtual_server 192.168.3.199 80 {
    delay_loop 6
    #健康间隔时间6秒
    lb_algo rr
    #调度算法轮询
    lb_kind DR
    #lvs模式为DR直连路由模式
    persistence_timeout 50
    #连接保持时间为50 可以修改为0 轮询较快
    protocol TCP
    #采用协议
    
#后端真实服务器节点的ip地址
    real_server 192.168.3.88 80 {
        weight 1
        #节点权重
          TCP_CHECK {
          connect_port 80
          #检查目标端口
          connect_timeout 3
          #连接超时 
          nb_get_retry 3
          #重试次数
          delay_before_retry 3
          #重试间隔时间
        }
        #tcp检测后端服务器节点是否正常
    }

    real_server 192.168.3.89 80 {
        weight 1
          TCP_CHECK {
          connect_port 80
          connect_timeout 3
          nb_get_retry 3
          delay_before_retry 3
        }
    }

}
systemctl enable --now keepalived.service

部署后端服务器zyj88

#配置lo口ip地址
ifconfig lo:1 192.168.3.188/32
ifconfig lo:2 192.168.3.199/32
echo "ifconfig lo:1 192.168.3.188/32" >> /etc/rc.d/rc.local
echo "ifconfig lo:2 192.168.3.199/32" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

#添加系统只响应目的IP为本地IP的ARP请求
#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP
vim /etc/sysctl.conf
#加入以下配置
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

#刷新配置
sysctl -p

安装web服务器 写入测试页面

yum install httpd -y
echo "zyj88" > /var/www/html/index.html
systemctl enable --now httpd

部署后端服务器zyj89

#配置lo口ip地址
ifconfig lo:1 192.168.3.188/32
ifconfig lo:2 192.168.3.199/32
echo "ifconfig lo:1 192.168.3.188/32" >> /etc/rc.d/rc.local
echo "ifconfig lo:2 192.168.3.199/32" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

#添加系统只响应目的IP为本地IP的ARP请求
#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP
vim /etc/sysctl.conf
#加入以下配置
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

#刷新配置
sysctl -p

安装web服务器 写入测试页面

yum install httpd -y
echo "zyj89" > /var/www/html/index.html
systemctl enable --now httpd

访问测试:

在这里插入图片描述
关闭其中一台调度器再测试

访问测试:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2112431.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鹰眼雾炮适合在哪些场合使用

朗观视觉鹰眼雾炮由于其独特的功能和优势&#xff0c;适合在多种场合使用&#xff0c;主要包括但不限于以下几个方面&#xff1a; 建筑工地&#xff1a;建筑工地是粉尘污染的主要来源之一。鹰眼雾炮可以有效降低施工过程中的扬尘&#xff0c;改善工地及周边空气质量&#xff0c…

南卡科技“满分之选”全新开放式耳机发布,打造超越Pro的极致体验!

在音频技术的不断革新中&#xff0c;南卡品牌以其深厚的声学底蕴和对创新的不懈追求&#xff0c;再次为市场带来惊喜。今天&#xff0c;我们自豪地宣布&#xff0c;南卡OE Pro2开放式蓝牙耳机正式亮相&#xff0c;它不仅代表了南卡在开放式耳机领域的技术巅峰&#xff0c;更是对…

基本和复合逻辑运算

目录 基本逻辑运算 与运算 或运算 非运算 复合逻辑运算 与非运算 或非运算 异或运算 同或运算 基本逻辑运算 与运算 两个都为1才为1&#xff0c;否则为0&#xff0c;类似于编程语言里的&。 有0出0&#xff0c;全1出1。 逻辑表达式就是AB,可以省略中间的点。 逻辑符…

TimescaleDB-3 超表的维护

数采系统上线半年多了&#xff0c;产生了大概2亿条记录&#xff0c;这些数据其实是有时效性的&#xff0c;用来生成的二次数据可以永久保存&#xff0c;这种时序数据没有多大价值&#xff0c;又非常占用空间&#xff0c;所以定期清理超表的trunk是必要的 --1、查看分区表以及…

好用的AI编程助手[豆包]

欢迎来到 Marscode 的世界&#xff01;这里将为你揭秘 Marscode&#xff0c;它的独特之处、应用领域等相关精彩内容等你来探索。 一、打开VS Code 二、选择 Extensions,搜索marscode 三、点击安装 四、点击使用 五、输入需要编写的代码 六、根据自己的需求修改代码 MarsCode 注…

Pytorch多GPU分布式训练代码编写

Pytorch多GPU分布式训练代码编写 一、数据并行 1.单机单卡 模型拷贝 model.cuda() 原地操作 数据拷贝&#xff08;每步&#xff09; datadata.cuda() 非原地操作 基于torch.cuda.is_available()来判断是否可用 模型保存与加载 torch.save 来保存模型、优化器、其他变量tor…

spring security 中的授权使用

一、认证 身份认证&#xff0c;就是判断一个用户是否为合法用户的处理过程。Spring Security 中支持多种不同方式的认证&#xff0c;但是无论开发者使用那种方式认证&#xff0c;都不会影响授权功能使用。因为 SpringSecurity 很好做到了认证和授权解耦。 二、授权 授权&#x…

红黑树的旋转

红黑树的基本性质 红黑树与普通的二叉搜索树不同&#xff0c;它在每个节点上附加了一个额外的属性——颜色&#xff0c;该颜色可以是红色或黑色。通过引入这些颜色&#xff0c;红黑树能够维持以下 5 个基本性质&#xff0c;以确保树的平衡性&#xff1a; 每个节点是红色或黑色…

C++入门10——stack与queue的使用

目录 1.什么是stack&#xff1f; stack的使用 2.什么是queue&#xff1f; queue的使用 3.priority_queue 3.1 什么是priority_queue? 3.2 priority_queue的使用 1.什么是stack&#xff1f; 在官网中&#xff0c;对stack有这样的介绍&#xff1a; Stacks are a type o…

一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性

在当今数字化时代&#xff0c;‌IP地址作为网络世界中的“门牌号”&#xff0c;‌扮演着至关重要的角色。‌它负责在网络上唯一标识每一台设备&#xff0c;‌使得数据能够在庞大的互联网中准确无误地传输。‌然而&#xff0c;‌对于IP地址与电脑之间的对应关系&#xff0c;‌许…

uni-appH5项目实现导航区域与内容区域联动效果

一、需求描述 将导航区域与内容区域实现联动&#xff0c;即点击导航区域&#xff0c;内容区滚动到对应位置&#xff0c;内容区滚动过程中根据内容定位到相对应的导航栏。 效果如下&#xff1a; 侧边导航与内容联动效果 二、功能实现思路分析汇总&#xff1a; 三、具体代码 1…

Matplotlib通过axis()配置坐标轴数据详解

坐标轴范围设置 axis()可以直接传入列表[xmin,xmax,ymin,ymax]进行范围设置, 分别可以使用plt.axis()或者画布对象.axis()进行配置 import numpy as np import matplotlib.pyplot as pltx np.linspace(0, 20, 100) y x*2 plt.plot(x, y, r) plt.axis([0,30,0,100]) plt.sa…

【精选】文件摆渡系统:跨网文件传输的安全与效率之选

文件摆渡系统可以解决哪些问题&#xff1f; 文件摆渡系统&#xff08;File Shuttle System&#xff09;主要是应用于不同网络、网段、区域之间的文件数据传输流转场景&#xff0c; 用于解决以下几类问题&#xff1a; 文件传输问题&#xff1a; 大文件传输&#xff1a;系统可…

云服务器内网穿透连接云手机配置ALAS

文章目录 服务器安装TailscaleNAT网络&#xff08;无独立IP&#xff09;云服务器安装Tailscale有固定IP的云服务器安装Tailscale 云手机安装Tailscale开启无线网络调试安装Tailscale ALAS连接云手机 上次写到服务器连接云手机时只说了有独立IP的&#xff0c;但有独立IP的云手机…

IDM 工具下载 地图高程数据

巧用IDM工具 快捷下载ASTER GDEM v3高程数据 ASTER GDEM v3是NASA推出的30米高清DEM,覆盖了几乎全部的地球陆地。那么,在NASA官网怎么下载ASTER GDEM v3的地形高程数据呢? 首先,你需要注册一个nasa的账号 注册网址: https://urs.earthdata.nasa.gov/users/new 注册方式和国…

彩虹数字屏保时钟 芝麻时钟开启个性化的时代 屏保怎么能少它

彩虹数字屏保时钟 芝麻时钟开启个性化的时代 屏保怎么能少它&#xff1f;电脑屏保多样化&#xff0c;让大家有了更多的选择&#xff0c;让更多人有机会把自己的电脑打扮得漂漂亮亮&#xff0c;今天小编给大家推荐&#xff1a;芝麻时钟&#xff08;官网下载地址&#xff1a;http…

vulhub GhostScript 沙箱绕过(CVE-2018-16509)

1.执行以下命令启动靶场环境并在浏览器访问 cd vulhub/ghostscript/CVE-2018-16509 #进入漏洞环境所在目录 docker-compose up -d #启动靶场 docker ps #查看容器信息 2.访问网页 3.下载包含payload的png文件 vulhub/ghostscript/CVE-2018-16509/poc.png at master vulh…

TYPE-C USB设计

目录 摘要 TYPE-C电路 握手过程 USB电路 摘要 TYPE-C,是USB的一种接口&#xff0c;USB的第一种接口为常见的USB接口&#xff0c;U盘即为这种接口&#xff1b;第二种接口的形状类似一个凸字&#xff0c;常应用在打印机中&#xff0c;第三种接口即为TYPE-C&#xff0c;支持正…

JdbcRowSetImpl利用链分析

文章目录 JdbcRowSetImpl利用链前言JdbcRowSetImpl利用链分析 JdbcRowSetImpl利用链 前言 首先说明一下&#xff1a;利用链都有自己的使用场景&#xff0c;要根据场景进行选择不同的利用链。 JdbcRowSetImpl利用链用于fastjson反序列化漏洞中。 为什么&#xff1f; 因为fa…

暑期档总结:哪部国漫年番表现更优?

“暑期档”可能是所有档期中绵延时间最长的&#xff0c;作为该时间段主力的学生人群&#xff0c;在学业压力较小的假期中&#xff0c;需要更多娱乐方式来填充生活。除了电影之外&#xff0c;动画番剧越来越成为这一群体的不二选择&#xff0c;各个动画制作公司也会选择把精彩剧…