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

keepalived和lvs高可用集群

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 keepalivedglobal_defs {notification_email {root@localhost #邮件设置}notification_email_from root@localhost#发邮件的地址smtp_server 127.0.0.1#邮件服务器地址smtp_connect_timeout 30#邮件服务器连接timeoutrouter_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或者BACKUPinterface ens160virtual_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 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_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 keepalivedglobal_defs {notification_email {root@localhost #邮件设置}notification_email_from root@localhost#发邮件的地址smtp_server 127.0.0.1#邮件服务器地址smtp_connect_timeout 30#邮件服务器连接timeoutrouter_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或者BACKUPinterface ens160virtual_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 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_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 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::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 1000link/ether 00:0c:29:29:83:01 brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.3.86/24 brd 192.168.3.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet 192.168.3.188/32 scope global ens160valid_lft forever preferred_lft foreverinet6 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 keepalivedglobal_defs {notification_email {root@localhost #邮件设置}notification_email_from root@localhost#发邮件的地址smtp_server 127.0.0.1#邮件服务器地址smtp_connect_timeout 30#邮件服务器连接timeoutrouter_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或者BACKUPinterface ens160virtual_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或者BACKUPinterface ens160virtual_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 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_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 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_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 keepalivedglobal_defs {notification_email {root@localhost #邮件设置}notification_email_from root@localhost#发邮件的地址smtp_server 127.0.0.1#邮件服务器地址smtp_connect_timeout 30#邮件服务器连接timeoutrouter_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或者BACKUPinterface ens160virtual_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或者BACKUPinterface ens160virtual_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 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_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 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_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

访问测试:

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

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

相关文章:

keepalived和lvs高可用集群

keepavlied和lvs高可用集群搭建 主备模式&#xff1a; 关闭防火墙和selinux systemctl stop firewalld setenforce 0部署master负载调度服务器 zyj86 安装ipvsadm keepalived yum install -y keepalived ipvsadm修改主节点配置 vim /etc/keepalived/keepalived.conf! Conf…...

在VMware部署银河麒麟系统

虚拟机镜像安装文件从下面下载: 银河麒麟桌面操作系统V10SP1 2403 下载地址_银河麒麟v10镜像iso下载-CSDN博客 虚拟机安装要求硬盘大小至少40G,我悬着60G 选择桥接网络安装后上不了网并且和本机也互相ping不通,因此选择Nat方式,然后重启,就可以上网 下面开始安装,第一个…...

git删除本地分支报错:error: the branch ‘xxx‘ is not fully merged

git删除本地分支报错&#xff1a;error: the branch xxx is not fully merged error: the branch xxx is not fully merged 直接&#xff1a; git branch -D xxx 就可以。 如果删除远程分支&#xff1a; git push origin --delete origin/xxx git强制删除本地分支 git branc…...

Tensorflow 兼容性测试-opencloudos

介绍 Tensorflow 兼容性测试: 测试 Tensorflow 各个版本在 OpenCloudOS Stream 的安装支持 操作系统 [rootlab101 ~]# cat /etc/os-release NAME"OpenCloudOS Stream" VERSION"23" ID"opencloudos" ID_LIKE"opencloudos" VERSION_I…...

Windows主机上安装CUPS服务端共享USB打印机实践心得

背景 平时主力机器是Windows&#xff0c;不想额外开一个Linux服务器来共享打印机。由于主力机平时也不关机&#xff0c;尝试在Windows上安装CUPS服务。 结论 先说结论&#xff0c;结论是可行&#xff0c;但是麻烦且不稳定&#xff0c;虚拟机方案少折腾&#xff0c;但是资源消耗…...

socket通讯原理及例程(详解)

里面有疑问或者不正确的地方可以给我留言。 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧&#xff1f;随着网络技术的发展&#xff0c;这些词充斥着我们的耳朵。那么我想问&#xff1a; 什么是TCP/IP、UDP&#xff1f;Socket在哪里呢&#xff1f;Socket是什么呢&#xff1…...

vue3使用provide和inject传递异步请求数据子组件接收不到

前言 一般接口返回的格式是数组或对象&#xff0c;使用reactive定义共享变量 父组件传递 const data reactive([])// 使用settimout模拟接口返回 setTimeout(() > {// 将接口返回的数据赋值给变量Object.assign(data, [{ id: 10000 }]) }, 3000);provide(shareData, dat…...

对称矩阵的压缩存储

1.给自己出题&#xff1a;自己动手创造&#xff0c;画一个5行5列的对称矩阵 2.画图&#xff1a;按“行优先”压缩存储上述矩阵&#xff0c;画出一维数组的样子 3.简答&#xff1a;写出元素 i,j 与 数组下标之间的对应关系 4.画图&#xff1a;按“列优先”压缩存储上述矩阵&a…...

高阶数据结构之哈希表基础讲解与模拟实现

程序猿的读书历程&#xff1a;x语言入门—>x语言应用实践—>x语言高阶编程—>x语言的科学与艺术—>编程之美—>编程之道—>编程之禅—>颈椎病康复指南。 前言&#xff1a; 哈希表&#xff08;Hash Table&#xff09;是一种高效的键值对存储数据结构&…...

基于STM32设计的智能货架(华为云IOT)(225)

文章目录 一、前言1.1 项目介绍【1】项目背景【2】项目支持的功能【3】项目硬件模块组成【4】ESP8266工作模式配置【5】Android手机APP开发思路【6】项目模块划分1.2 项目开发背景【1】选题来源与背景【2】国内外研究现状【3】课题研究的目的和内容【4】参考文献【5】研究内容【…...

JDBC API详解一

DriverManager 驱动管理类&#xff0c;作用&#xff1a;1&#xff0c;注册驱动&#xff1b;2&#xff0c;获取数据库连接 1&#xff0c;注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); 查看Driver类源码 static{try{DriverManager.registerDriver(newDrive…...

工厂安灯系统在设备管理中的重要性

在现代制造业中&#xff0c;设备管理是确保生产效率和产品质量的关键环节。随着工业4.0的推进&#xff0c;越来越多的企业开始采用智能化的设备管理系统&#xff0c;其中安灯系统作为一种有效的管理工具&#xff0c;逐渐受到重视。安灯系统最初源于日本的丰田生产方式&#xff…...

【LabVIEW学习篇 - 23】:简单状态机

文章目录 简单状态机状态机的创建和了解状态机实现红绿灯 简单状态机 一个优秀的应用程序离不开好的程序框架&#xff0c;不仅要很好满足用户的功能需求&#xff0c;还要考虑到系统的稳定性、实时性、可扩展性、可维护性&#xff0c;执行效率等方面。借用一些成熟的设计框架&a…...

【CSS】 Grid布局:现代网页设计的基石

引言 最近接到一个网页布局比较复杂的页面&#xff0c;看了半天还是决定用grid布局来写&#xff0c;记录一下 布局是构建用户界面的关键部分。CSS Grid布局提供了一种简单而强大的方式来创建复杂的网格布局&#xff0c;它让设计师和开发者能够更直观、更灵活地控制网页的结构。…...

jQuery UI API 文档

关于《jQuery UI API 文档》&#xff0c;我找到了一些有用的信息。jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互、特效、小部件及主题。如果您是 jQuery 新手&#xff0c;建议您先查看 jQuery 教程。目前&#xff0c;我找到的资料主要是关于 jQuery UI 1.10 版…...

盘点2024年大家都在用的录屏工具

现在录屏工具的使用范围越来越广了。我的深切体验是有很多人愿意为知识付费了&#xff0c;但是到线下培训的话很多人时间不一定能协调的来&#xff0c;这就导致涌现了不少的录屏课程。这次我们来探讨下要怎么录屏才能呈现更好的效果。 1.福昕录屏大师 链接达达&#xff1a;ww…...

【大数据】探索怎么从一段话中解析关键信息(寄件人相关信息)

本文由ChatGPT生成&#xff0c;主要用于学习&#xff0c;大家有疑问请及时提出。 使用NLP实现文本信息解析功能&#xff1a;以提取姓名、地址和电话号码为例 在这个博客中&#xff0c;我们将通过自然语言处理&#xff08;NLP&#xff09;技术来实现一个简单的文本信息解析功能…...

初学者指南:MyBatis 入门教程

主要介绍了Mybatis的基本使用、JDBC、数据库连接池、lombok注解&#xff01; 文章目录 前言 什么是Mybatis? 快速入门 使用Mybatis查询所有的用户信息 配置SQL提示 JDBC介绍 Mybatis 数据库连接池 lombok 总结 前言 主要介绍了Mybatis的基本使用、JDBC、数据库连接…...

reader-lm:小模型 html转markdown

参考&#xff1a; https://huggingface.co/jinaai/reader-lm-0.5b 在线demo&#xff1a; https://colab.research.google.com/drive/1wXWyj5hOxEHY6WeHbOwEzYAC0WB1I5uA#scrollTo0mG9ISzHOuKK 输入网址&#xff1a;https://www.galaxy-geely.com/E5 结果&#xff1a; 代码…...

进击J6:ResNeXt-50实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、实验目的&#xff1a; 阅读ResNeXt论文&#xff0c;了解作者的构建思路对比之前介绍的ResNet50V2、DenseNet算法使用ResNeXt-50算法完成猴痘病识别 二、实…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...