负载均衡之lvs
1.负载均衡 VS 反向代理区别
1.1 功能(原理)
- 负载均衡 lvs 请求做转发
- 反向代理 Nginx Haproxy 代替(代理)用户去请求 ,得到响应再反回给用户
1.2 4层与7层
7层协议 | ||
---|---|---|
应用层 | 协议: http https | |
表示层 | ||
会话层 | ||
传输层 | tcp/udp 端口 | |
网络层 | IP地址 | |
数据链路层**** | MAC地址 | |
物理层 | 010101001 比特 |
物理层,数据链路层,网络层,传输层的单位:
比特bit,帧frame,包packet,段segment
- 4层 LVS nginx(1.9版本支持) haproxy
- 7层 nginx haproxy
2.ARP协议
2.1 arp解析过程
https://www.cnblogs.com/csguo/p/7542944.html
DNS 域名----->ip地址 域名解析服务/系统
ARP ip------->MAC地址 地址解析协议(Address Resolution Protocol)
2.2 arp解析原理
发出广播消息 查询ip对应的mac地址
对应的机器会用单播的方式把自己的mac告诉对方
用户自己留1个arp缓存
- 每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
- 主机(网络接口)新加入网络时(也可能只是mac地址发生变化,接口重启等), 会发送免费ARP报文把自己IP地址与Mac地址的映射关系广播给其他主机。
- 网络上的主机接收到免费ARP报文时,会更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。
- 某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址等。
- 当本网络的所有主机收到该 ARP 数据包时:
(A)首先检查数**据包中的 IP 地址是否是自己的 IP 地址**,如果**不是,则忽略该数据包。**(B)如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。(C) 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
- 源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。
2.3 arp解析过程-抓包
[root@m01 ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
172.16.1.51 ether 00:0c:29:c7:5d:dd C eth1
10.0.0.1 ether 00:50:56:c0:00:08 C eth0
10.0.0.254 ether 00:50:56:e1:eb:34 C eth0
[root@m01 ~]# arp -d 10.0.0.51 #删除MAC[root@db01 ~]# ping 10.0.0.61 -c 1 #db01上ping[root@m01 ~]# ping 10.0.0.51 -c 1 #m01上ping
2.4 Linux下抓包
arp解析过程:wireshark抓包流程
[root@m01 ~]# yum install -y wireshark #下载抓包软件
[root@m01 ~]# tshark -i eth1 -f arp
Running as user "root" and group "root". This could be dangerous.
Capturing on 'eth1'1 0.000000000 Vmware_2e:aa:48 -> Broadcast ARP 42 Who has 172.16.1.51? Tell 172.16.1.612 0.000263929 Vmware_c7:5d:dd -> Vmware_2e:aa:48 ARP 60 172.16.1.51 is at 00:0c:29:c7:5d:dd
[root@m01 ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
172.16.1.51 ether 00:0c:29:c7:5d:dd C eth1
10.0.0.1 ether 00:50:56:c0:00:08 C eth0
10.0.0.51 ether 00:0c:29:c7:5d:d3 C eth0
10.0.0.254 ether 00:50:56:e1:eb:34 C eth0
tshark (wireshark) :
**-i ** 指定网卡 默认第1个网卡(非lo)
-f 指定过滤规则
-w 保存抓包的内容到文件中
抓包过滤语法 man wireshark-fifilter
arp欺骗
小故事源文链接:csguo
预防:
1.mac地址与ip地址绑定
2.使用企业安全软件
4. LVS介绍
LVS也叫做Linux虚拟服务器(Linux Virtual Server)创始人-章文嵩,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求转发,目前是负载均衡性能最好的集群系统。
相关链接:https://www.cnblogs.com/aubin/p/7718739.html
四种工作模式原理:https://blog.csdn.net/Running_free/article/details/77981201
LVS由于太nb 被写入到了Linux内核中 ip_vs
通过 keepalived(配置文件)或ipvsadm (命令)进行控制
ipvsadm ipvs admin
中国的开源软件:
Sersync
Jumpserver
MyCAT
4.1 lvs相关名词
CIP:客户端IP (client IP)
VIP:Virtual IP 向外提供服务的IP;通常此IP绑定域名
DIP:与内部主机RIP通信的IP,在Director主机上
RIP:Real Server IP;内部真正提供服务的主机
Director:负责调度集群的主机 LVS;也简称调度器、分发
VS:Virtual Server,虚拟服务器,也称为Director、
RS:Real Server(lvs),真正的服务器,集群中各节点
4.2 lvs集群的模式类型
lvs-nat:修改请求报文的目标IP,多目标IP的DNAT
lvs-dr:操纵封装新的MAC地址
lvs-tun:在原请求IP报文之外新加一个IP首部
lvs-fullnat:修改请求报文的源和目标IP
4.3LVS-DR模式(二层)
原理简述
当客户端向VIP发起请求时,[源CIP;目的VIP] 数据包通过路由器发送到Director。然后Director不修改其源IP 目的IP。经过调度后将目的MAC改为RS的MAC,RS收到数据之后发现目的IP为本机的L0接口就将其收下,然后处理数据后再将源IP改为L0目的IP为客户端CIP直接通过公网返回给客户端**
CIP—>VIP:源IP(客户端)→Director(修改为RS的mac)→目的IP(RS本地lo接口)
VIP—>CIP:源IP(RS本地lo接口)→通过公网→目的IP(客户端)
抑制RS端arp
LVS-DR模式的特点:
- LVS DR模式中 负责修改目标IP(VIP) mac地址 改为后端RS服务器的mac
- DR模式中 lvs主要处理用户的请求,响应通过后端RS服务器直接给用户
- LVS 与 后端RS服务器要在同一个局域网(网段)
- DR模式中 RS服务器要有公网ip地址
- 需要注意RS节点的VIP的绑定 (lo:vip/32) 和ARP抑制问题
- 由于DR模式的调度器仅进行了目的的MAC地址的改写,因此,调度器无法改变请求报文的目的端口。也就是说 LVS DR模式在二层数据链路层(MAC)工作,**NAT模式是在三层网络层(IP)和四层传输层(端口)**工作。
4.4 LVS-NAT模式(三层和四层)
原理简述
客户端向VIP发起请求连接,Director在经过调度之后选取RS,将本地端口与RS的端口做映射,然后RS返还数据Director将数据返还客户端
把客户端发来的数据包在Director调度器上将目的地址封装成其中一台RS的IP地址,并发至该RS来处理,RS处理完成后把数据包发给Director调度器,调度器再把数据包的源IP地址封装成为自己的IP,将目的地址封装成客户端IP地址,然后发给客户端。无论是进来的流量,还是出去的流量,都必须经过调度器。
CIP—>VIP—>RIP:源IP(客户端)→Director(客户端IP与RS做端口或IP映射)→目的IP(RS的IP)
RIP—>VIP—>CIP:源IP(RS的IP)→Director(将RS的IP映射为VIP)→目的IP(客户端IP)
特点:
- NAT Network Address Translation 网络地址转换
- 开启了内核转发功能 net.ipv4.ip_forward = 1 #/etc/sysctl.conf
- 通过NAT模式 可以实现 例如:端口转发 请求80 后端转发为8080
- lvs与后端RS服务器 可以不在一个局域网
4.5 LVS-TUNNEL 隧道模式
原理简述
客户端向VIP发送请求时,[源CIP;目的VIP],Director经过调度轮询后选择一个RS后使用隧道技术再次封装后向RS发送【源DIP;目的RIP [源CIP;目的VIP]】,RS通过隧道收到请求后拆开数据后得到[源CIP;目的VIP],发现目的IP为自己L0接口的IP得,后就把数据收下,找到数据后将数据直接通过公网返还给客户端[源VIP;目的CIP]
1.客户端将访问vip报文发送给LVS服务器;
2.LVS服务器将请求报文重新封装,发送给后端真实服务器;
3.后端真实服务器将请求报文解封,在确认自身有vip之后进行请求处理;
4.后端真实服务器在处理完数据请求后,直接响应客户端。
特点:
1.lvs和后端真实服务器上都要有vip。
2.不会成为瓶颈。
3.请求的报文不能太大。
优缺点:
1.快速
2.不安全,不能抵抗DOS攻击
4.6 FULL NAT转发模式
相关链接:https://blog.csdn.net/aaaaaab_/article/details/81331014
FULLNAT原理:
FULLNAT转发数据包是类似NAT模式,IN和OUT数据包都是经过LVS;唯一的区别:后端RS 或者交换机不需要做任何配置。
FULLNAT的主要原理是引入local address(内网ip地址),cip-vip转换为lip->rip,而 lip和rip均为IDC内网ip,可以跨vlan通讯
诞生原因:
在大规模的网络下,在淘宝的业务中,官方LVS满足不了需求;原因有3点,
- 刚才讲三种转发模式,部署成本比较高;
- 和商用的负载均衡比,LVS没有DDOS防御攻击功能;
- 主备部署模式,性能无法扩展;一个VIP下的流量特别大怎么办?
NAT模式与FULLNAT模式对比
相比NAT模式,FullNAT多了一个Local IP,IP地址转换时,源和目的IP都改了,即SNAT+DNAT。
图一为NAT模式 图二为FULLNAT模式
FULLNAT模式的优缺点:
FULLNAT一个最大的问题是:RS无法获得用户IP;为了解决这个问题我们提出了TOA的概念,主要原理是:将client address放到了TCP Option里面带给后端RS,RS上通过toa内核模块hack了getname函数,给用户态返回TCP Option中的client ip。
fullnat模式和nat模式相似,但是与nat不同的是nat模式只做了两次地址转换,fullnat模式却做了四次。
本地环回接口(或地址),亦称回送地址(loopback address)。
此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。常见于如下用途:
1 、作为一台路由器的管理地址
系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback 接口,并在该接口上单独指定一个IP 地址作为管理地址,管理员会使用该地址对路由器远程登录(telnet ),该地址实际上起到了类似设备名称一类的功能。
但是通常每台路由器上存在众多接口和地址,为何不从当中随便挑选一个呢?
原因如下:由于telnet 命令使用TCP 报文,会存在如下情况:路由器的某一个接口由于故障down 掉了,但是其他的接口却仍旧可以telnet ,也就是说,到达这台路由器的TCP 连接依旧存在。所以选择的telnet 地址必须是永远也不会down 掉的,而虚接口恰好满足此类要求。由于此类接口没有与对端互联互通的需求,所以为了节约地址资源,loopback 接口的地址通常指定为32 位掩码。2 、使用该接口地址作为动态路由协议OSPF 、BGP 的router id 动态路由协议OSPF 、BGP 在运行过程中需要为该协议指定一个Router id ,作为此路由器的唯一标识,并要求在整个自治系统内唯一。由于routerid 是一个32 位的无符号整数,这一点与IP 地址十分相像。而且IP 地址是不会出现重复现象的,所以通常将路由器的router id 指定为与该设备上的某个接口的地址相同。由于loopback 接口的IP 地址通常被视为路由器的标识,所以也就成了router id 的最佳选择。
3、使用该接口地址作为BGP 建立TCP 连接的源地址
在BGP 协议中,两个运行BGP 的路由器之间建立邻居关系是通过TCP 建立连接完成的。
在配置邻居时通常指定loopback 接口为建立TCP 连接的源地址
5.LVS-DR模式搭建
5.1 准备环境
机器主机名 | ip eth0 | ip eth1 |
---|---|---|
lb01 | 10.0.0.5 | 172.16.1.5 |
lb02 | 10.0.0.6 | 172.16.1.6 |
web01 | 10.0.0.7 | 172.16.1.7 |
web02 | 10.0.0.8 | 172.16.1.8 |
lb01 lb02上下载软件
yum install -y ipvsadm
#关闭nginx负载均衡与keepalived
systemctl stop nginx.service keepalived.service systemctl disable nginx.service keepalived.service
web01 web02配置
#添加静态页面 curl 10.0.0.[7-8]/indexl.html web01 web02
为web01和web02配置nginx文件(配置相同)
[root@web01 ~]# cat /etc/nginx/nginx.conf #查看user nginx;
worker_processes 1;error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;#gzip on;include /etc/nginx/conf.d/*.conf; #include指向到conf.d/下
}[root@web01 ~]# cat /etc/nginx/conf.d/01-blog.conf #web01配置站点
server {listen 80;server_name blog.oldboy.com;access_log /var/log/nginx/access_www.log main;root /app/nginx/html/blog; #指定站点目录location / {index index.php index.html index.htm;}location ~* \.(php|php5)$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}}
[root@web01 ~]# nginx -t #检查语法
[root@web01 ~]# systemctl restart nginx #重启nginxweb02相同配置
为web01和web02添加静态网页
[root@web01 ~]# cat /app/nginx/html/blog/index.html
web01
<h1> nginx server 10.0.0.7 web01 <h1>[root@web02 ~]# cat /app/nginx/html/blog/index.html
web02
<h1> nginx server 10.0.0.8 web02 <h1>
在lb01上检查一下
[root@lb01 ~]# curl 10.0.0.[7-8][1/2]: 10.0.0.7 --> <stdout>
--_curl_--10.0.0.7
web01
<h1> nginx server 10.0.0.7 web01 <h1>[2/2]: 10.0.0.8 --> <stdout>
--_curl_--10.0.0.8
web02
<h1> nginx server 10.0.0.8 web02 <h1>
5.2 LVS-DR模式部署
LVS
加载内核模块
modprobe ip_vs #直接运行ipvsadm -ln
[root@lb01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@lb01 ~]# lsmod |grep ip_vs #检查内核模块
ip_vs 145497 0
nf_conntrack 133095 1 ip_vs
libcrc32c 12644 3 xfs,ip_vs,nf_conntrack
5.3 LVS服务器配置语句与参数
lb01 lb02
ip addr add 10.0.0.3/24 dev eth0 label eth0:0 #添加虚拟IPipvsadm -C #清空规则ipvsadm --set 30 5 60 #设置tcp超市时间ipvsadm -A -t 10.0.0.3:80 -s wrr -p 20 #创建池塘,设置轮询模式与报错时间ipvsadm -a -t 10.0.0.3:80 -r 10.0.0.7:80 -g -w 1 #添加RS服务器web01,选择模式并设置权重ipvsadm -a -t 10.0.0.3:80 -r 10.0.0.8:80 -g -w 1 #添加RS服务器web02,选择模式并设置权重ipvsadm -ln #查看LVS的配置情况
ipvsadm | |
---|---|
-C | 清除所有规则 |
-A | nginx创建池塘 |
-t | tcp协议 |
-s | scheduler 轮询算法 wrr(加权轮询) |
-p | persistent 会话报错的时间 20秒 默认是300s |
-a | 添加RS服务器(nginx server) |
-r | 指定RS服务器 ip |
-g | –gatewaing 使用DR模式 (-Directing Routing) |
-w | weight 权重 |
#lb01与lb02配置后的情况[root@lb01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.3:80 wrr persistent 20-> 10.0.0.7:80 Route 1 0 0 -> 10.0.0.8:80 Route 1 0 0 [root@lb02 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.3:80 wrr persistent 20-> 10.0.0.7:80 Route 1 0 0 -> 10.0.0.8:80 Route 1 0 0
为保证配置后的规则防止清除,恢复
[root@lb01 ~]# ipvsadm-save -n #查看规则
-A -t 10.0.0.3:80 -s wrr -p 20
-a -t 10.0.0.3:80 -r 10.0.0.7:80 -g -w 1
-a -t 10.0.0.3:80 -r 10.0.0.8:80 -g -w 1
[root@lb01 ~]# #ipvsadm-save -n >/root/ipvsadm.rules #将lvs规则追加到文件
[root@lb01 ~]# ipvsadm -C #清除规则测试
[root@lb01 ~]# ipvsadm -ln #查看规则已经没有了
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@lb01 ~]# cat /root/ipvsadm.rules #查看之前备份的规则
-A -t 10.0.0.3:80 -s wrr -p 20
-a -t 10.0.0.3:80 -r 10.0.0.7:80 -g -w 1
-a -t 10.0.0.3:80 -r 10.0.0.8:80 -g -w 1
[root@lb01 ~]# ipvsadm-restore </root/ipvsadm.rules #将备份的规则归还
[root@lb01 ~]# ipvsadm -ln #再次查看已经恢复
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.3:80 wrr persistent 20-> 10.0.0.7:80 Route 1 0 0 -> 10.0.0.8:80 Route 1 0 0
5.4 RS服务器配置参数语句
web01 web02
ip addr add 10.0.0.3/32 dev lo label lo:1 #添加本地回环地址 虚拟IP[root@web01 ~]# ip a s lo
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 foreverinet 10.0.0.3/32 scope global lo:1 #此IP为本地回环地址valid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever cat >>/etc/sysctl.conf<<EOF #配置内核转发net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2EOFsysctl -p #让其生效
5.5 测试lvs负载均衡注意事项:
- 不要再lvs本地进行测试
- lvs使用在高并发,
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 基于MySQL 5.7多源复制及Keepalived搭建三节点高可用架构
导读本内容摘自知数堂第35期公开课《MySQL 5.7 高可用新玩法》本次公开课视频请访问 http://pan.baidu.com/s/1mia6MZu知数堂公开课相关视频请访问 https://ke.qq.com/course/172600基本环境准备 使用Centos 6.X 64位系统 MySQL 使用 MySQL-5.7.17-x86_64 版本,去官方下载my…...
2024/4/7 21:59:28 - 关于ubifs在断电时丢失数据的处理方法
关于ubifs在断电时丢失数据的处理方法 首先要说的是,文件系统在掉电的时候肯定是有几率丢失数据,因为断电可以在任何情况下发生,如果有数据在内存个中来不及写入,那么内存中的数据就丢失了,而且nand上的未写完的数据,可能因为文件对应的信息没有更新,造成重启后文件系统…...
2024/4/10 0:04:22 - 新加坡MAS三大类型支付牌照的分类?
新加坡金融管理局(MAS)是新加坡中央银行,成立于1971年,由政府部门执行并专业管理,其职能组合了银行至财经等诸多金融机能,包括制订金融和货币方面的政策、保证经济稳定发展、促进可持续发展的金融服务产业等。 MAS还是一家综合监管机构。新加坡金管局颁发的牌照名为CMS,…...
2024/4/17 22:59:40 - PowerDesigner怎样才能在修改表的字段Name的时候Code不自动跟着变
tools-> General Options-> Dialog:Operation Modes: 去掉 NameToCodeMirroring 前面的√PowerDesigner快捷键【转】一般快捷键快捷键说明F4打开检查模型窗口,检查模型F5如果图窗口内的图改变过大小,恢复为原有大小即正常大小F6放大图窗口内的图F7缩小图窗口内的…...
2024/4/18 22:34:11 - REN 重命名文件
点赞收藏分享文章举报竹子CN发布了271 篇原创文章 获赞 91 访问量 53万+他的留言板关注...
2024/4/1 2:28:32 - 蓝桥杯练习——序列求和(知识点:使用等差数列)
问题描述 求1+2+3+…+n的值。 输入格式 输入包括一个整数n。 输出格式 输出一行,包括一个整数,表示1+2+3+…+n的值。 样例输入 4 样例输出 10 样例输入 100 说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。 一般在提交之前所有这些样例都需要测试通过才行,但这…...
2024/4/12 6:53:57 - Mysql中的关联查询(内连接,外连接,自连接)
Mysql中的关联查询(内连接,外连接,自连接) 在使用数据库查询语句时,单表的查询有时候不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,总结一下mysql中的多表关联查询 一,内连接查询 是指所有查询出的结果都是能够在连接的表中有对应记录…...
2024/4/17 3:53:41 - 设置Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别
max-file 表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制,并不是针对用户的。 ulimit -n 控制进程级别能够打开的文件句柄的数量。提供对shell及其启动的进程的可用文件句柄的控制。这是进程级别的。对于服务器来说,file-max和ulimit都需要设置,否则会出现文件…...
2024/4/1 9:59:28 - 实现报表数据预先计算
报表应用中,如果数据量较大或计算过程较复杂,往往会导致报表数据源准备过慢,从而影响报表性能。这种情况下可以预先计算报表需要的数据,在呈现时直接引用,使得用户在访问报表时可以迅速地获得响应。一、当前的手段及弊端由于报表在访问时常常需要参数,因此显然不可能把所…...
2024/3/29 5:13:16 - MySQL分页查询优化
当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。 准备工作 为了对下面列举的一些优化进行测试,下面针对…...
2024/4/17 2:13:43 - SQL---计算两个日期之间的时间差
在进行日期处理的时候,有时会需要计算一下两个日期之间相差几年零几个月,这里记录一下,如何用mysql数据库和java结合,准确的拿到两个日期之间的时间差。1.mysql数据库中,利用TIMESTAMPDIFF函数,拿到两个日期之间相差的月数,当然,也可以拿到天数,年数,如下:SELECT TI…...
2024/4/2 11:50:18 - 框架day13-分布式RPC框架Apache Dubbo
分布式RPC框架Apache Dubbo 1. 软件架构的演进过程 软件架构的发展经历了由单体架构、垂直架构、SOA架构到微服务架构的演进过程,下面我们分别了解一下这几个架构。 1.1 单体架构架构说明: 全部功能集中在一个项目内(All in one)。 架构优点: 架构简单,前…...
2024/3/29 10:10:28 - VS Code的常用快捷键
一、vs code 的常用快捷键1、注释:a) 单行注释:[ctrl+k,ctrl+c] 或 ctrl+/b) 取消单行注释:[ctrl+k,ctrl+u] (按下ctrl不放,再按k + u)c) 多行注释:[alt+shift+A]d) 多行注释:/**2、移动行:alt+up/down3、显示/隐藏左侧目录栏 ctrl + b4、复制当前行:shift + alt +up/d…...
2024/3/29 10:22:48 - git 更新代码到本地
正规流程git status(查看本地分支文件信息,确保更新时不产生冲突) git checkout – [file name] (若文件有修改,可以还原到最初状态; 若文件需要更新到服务器上,应该先merge到服务器,再更新到本地) git branch(查看当前分支情况) git checkout remote branch (若分…...
2024/4/18 13:54:51 - 打家劫舍III
在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直…...
2024/4/1 15:56:43 - 在navicat中查看所有表的注释
1、连接数据库,点击表2、点击工具栏中的查看按钮,选择详细信息如何再选择列 如何选择注释3、完成之后就可以很方便的查看每张表是什么作用点赞收藏分享文章举报MakeGreatEffort发布了128 篇原创文章 获赞 175 访问量 109万+他的留言板关注...
2024/4/17 1:44:05 - markdown语法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是…...
2024/4/7 20:41:18 - 孩子们的游戏(圆圈中最后剩下的数)
题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱…...
2024/4/17 2:14:19 - Eigen(7)-Geometry(几何转换)
官方地址传送 Space transformations 常用1.旋转矩阵(3X3):Eigen::Matrix3d 2.旋转向量(3X1):Eigen::AngleAxisd 3.四元数(4X1):Eigen::Quaterniond 4.平移向量(3X1):Eigen::Vector3d 5.变换矩阵(4X4):Eigen::Isometry3d AngleAxis(angle, axis):绕该轴逆时针旋转…...
2024/4/17 13:13:40 - 图纸加密软件(淘宝行业版)免费下载
图纸加密软件(淘宝工作室行业版)免费下载, 特点:1、企业级驱动层加密算法,16年高端品牌厂商出品,加密强度国内最高,简单易用; 2、本软件是为淘宝卖家、个人工作室保护自己的知识产权量身定制的专业加密产品,适合各种场合部署,单机,联网,在家,工作室、同城异地,都可…...
2024/4/10 19:03:06
最新文章
- 二次元AI绘画生成器免费:教你生成精美图片
二次元AI绘画生成器,无疑是现代技术与艺术完美结合的典范。这些工具不仅将复杂的绘画过程简化,更让每一个艺术爱好者的创意得以充分展现。这些生成器能够精准捕捉大家的创意精髓,将其转化为细腻、独特的二次元画作。无论是角色设计、场景描绘…...
2024/4/19 10:48:22 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 全局UI方法-弹窗四-日期滑动选择器弹窗(DatePickerDialog)
1、描述 根据指定的日期范围创建日期滑动选择器,展示在弹窗上。 2、接口 DatePickerDialog.show(options?: DatePickerDialogOptions) 3、DatePickerDialogOptions 参数名称 参数类型 必填 默认值 参数描述 start Date 否 Date("1970-1-1") 设置选择…...
2024/4/19 8:31:09 - 【C++航海王:追寻罗杰的编程之路】priority_queue(优先队列) | 容器适配器你知道哪些?
目录 1 -> priority_queue的介绍和使用 1.1 -> priority_queue的介绍 1.2 -> priority_queue的使用 1.3 -> priority_queue的模拟实现 2 -> 容器适配器 2.1 -> 什么是适配器 2.2 -> STL标准库中stack和queue的底层结构 2.3 -> deque的介绍 2.…...
2024/4/18 3:49:18 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/18 0:33:31 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/19 10:27:58 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/18 9:45:31 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/17 2:33:17 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/17 7:50:46 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/18 3:56:01 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/18 3:56:04 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/18 3:55:30 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/18 3:55:54 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/18 3:55:45 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/17 21:50:30 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/15 13:53:08 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/15 9:16:52 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/18 9:24:29 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/18 3:56:18 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/18 3:55:57 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/18 3:55:50 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/15 23:28:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/18 3:56:20 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/18 3:56:11 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57