LVS 809

【信息科学与工程学】【通信工程】第八十六篇 通信网络设备及通信网络组网的所有学科知识01 编号001类型网络虚拟化与覆盖技术网络领域数据中心网络子领域大二层网络 / 网络虚拟化核心数学方程式/算法模型核心算法:VXLAN封装与解封装。关键在于24位VNI(虚拟网络标识符)到物理网络的三层IP地址的映射。封装:收到原始以太帧后,为其添加 VXLAN 头部(含 VNI)、外层 UDP 头(目的端口 4789)、外层 IP 头(源 IP 为本地 VTEP IP,目的 IP 为对端 VTEP IP)以及外层 MAC 头。解封装:对端 收到报文后,剥离外层头部,根据内层帧的目的 MAC 和 VNI 进行二 阅读详情

一、基本概念

  1. LVS定义:
    • LVS是一个开源的负载均衡解决方案,它将一个真实服务器集群虚拟成一台服务器来对外提供服务,同时在真实服务器集群中实现了负载均衡。
  2. 核心组件:
    • VS(Virtual Server):虚拟服务器,也称为分发器或调度器,负责接收客户端的请求,并根据负载均衡算法将请求分发给后端真实服务器。
    • DS(Director Server):前端负载均衡器节点,即VS的实体化。
    • RS(Real Server):后端真实的工作服务器,负责处理VS分发的请求并返回响应。
  3. 关键术语:
    • VIP(Virtual IP):LVS实例的IP地址,通常是暴露在公网中的地址,作为用户请求的目标IP。
    • DIP(Director IP):DS的IP地址,主要用于和内部主机通讯。
    • RIP(Real IP):RS的真实IP地址。

二、工作原理

LVS工作在网络层(OSI模型的第四层——传输层),通过修改IP地址(NAT模式)或修改目标MAC地址(DR模式)来实现请求的转发和响应的返回。LVS支持TCP/UDP协议的负载均衡,可以根据不同的调度算法将请求分发给后端服务器。

三、调度算法

LVS提供了多种调度算法,以适应不同的应用场景和负载需求。常见的调度算法包括

  • 静态调度:
  • rr(Round Robin):轮询算法,按顺序依次将请求分发给后端服务器。
  • wrr(Weighted Round Robin):加权轮询算法,根据后端服务器的权重来分配请求。
  • sh(Source Hashing):源地址散列算法,根据请求的源IP地址进行散列,将相同源IP的请求分发给同一台后端服务器。
  • dh(Destination Hashing):目标地址散列算法,根据请求的目标IP地址进行散列,将相同目标IP的请求分发给同一台后端服务器。
  • 动态调度:
  • lc(Least-Connection):最少连接算法,将请求分发给当前连接数最少的后端服务器。
  • wlc(Weighted Least-Connection):加权最少连接算法,根据后端服务器的权重和当前连接数来分配请求。
  • sed(Shortest Expected Delay):最短期望延迟算法,考虑连接数和服务器性能等因素,将请求分发给期望延迟最小的后端服务器。
  • nq(Never Queue):永不排队算法,如果RS的连接数等于其权重,则不进行分配。
  • LBLC(Locality-Based Least Connection):基于本地的最少连接算法,将目标IP地址与同一子网内的RS进行映射,以实现更好的本地性。
  • LBLCR(Locality-Based Least Connections with Replication):基于本地的带复制功能的最少连接算法,是LBLC算法的改进版,可以处理请求量超过后端服务器处理能力的情况。

优势与特点

高性能:LVS基于内核网络层面工作,具有超强的承载能力和并发处理能力,单台LVS负载均衡器可支持上万并发连接。

低成本:LVS是开源软件,无需购买昂贵的硬件设备,可以以低廉的成本实现最优的服务性能。

高可靠性:LVS支持多种负载均衡算法和多种工作模式(如NAT模式、DR模式等),可以根据实际需求进行灵活配置,确保服务的可靠性和稳定性。可扩展性:LVS理论上能够无限水平扩展,使得服务能够应对海量数据的冲击。

管理集群服务中的增删改
-A #添加

-E #修改

-t #tcp服务

-u #udp服务

-s #指定调度算法,默认为WLC

-p #设置持久连接超时,持久连接可以理解为在同一个时间段同一个来源的请求调度到同一Realserver

-f #firewall mask 火墙标记 一个数

管理集群中RealServer的增删改
-a #添加realserver

-e #更改realserver

-t #tcp协议

-u #udp协议

-f #火墙 标签

-r #realserver地址

-g #直连路由模式

-i #ipip隧道模式

-m #nat模式

-w #设定权重

-Z #清空计数器

-D #删除某条lvs策略

-C #清空lvs策略

-L #查看lvs策略

-n #不做解析

--rate :输出速率信息

lvs-nat模式原理及部署方法

准备三台虚拟机,一台为LVS另外两台是webser1,webserver2

[root@netmask ~]# vmset.sh eth0 172.25.254.100 netmask 255.255.255.0
[root@apache ~]# vim /etc/NetworkManager//system-connections/eth1.nmconnection
[root@apache ~]# cat /etc/NetworkManager//system-connections/eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0
[ipv4]
address1=172.25.254.100/24,172.25.254.2
method=manual
dns=114.114.114.114;
[root@lvs ~]# nmcli connection reload
[root@lvs ~]# nmcli connection up eth1
[root@lvs ~]#  systemctl stop firewalld   
[root@lvs ~]# curl 192.168.0.10
webserver1 - 192.168.0.10
[root@lvs ~]# curl 192.168.0.20
webserver2 - 192.168.0.20
[root@lvs yum.repos.d]# dnf install ipvsadm -y  
[root@lvs yum.repos.d]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@lvs yum.repos.d]# ipvsadm -A -t 172.25.254.100 -s rr
Zero port specified for non-persistent service
[root@lvs yum.repos.d]# ipvsadm -A -t 172.25.254.100:80 -s rr
[root@lvs yum.repos.d]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.254.100:80 rr
[root@lvs yum.repos.d]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m
[root@lvs yum.repos.d]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.254.100:80 rr
  -> 192.168.0.10:80              Masq    1      0          0


[root@netmask ~]# vmset.sh eth0 192.168.0.10  netmask 255.255.255.0
[root@netmask ~]#  vim /etc/NetworkManager/system-connections/eth0.nmconnection
[root@netmask ~]#  cat /etc/NetworkManager/system-connections/eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0
 
[ipv4]
address1=192.168.0.10/24,192.168.0.100
method=manual
dns=114.114.114.114;
[root@lvs ~]# nmcli connection reload
[root@lvs ~]# nmcli connection up eth0
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
 
[root@netmask ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.100   0.0.0.0         UG    100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
 
[root@netmask ~]# dnf install httpd -y
[root@netmask ~]# echo webserver1 - 192.168.0.10 > /var/www/html/index.html

[root@netmask ~]# vmset.sh eth0 192.168.0.20  netmask 255.255.255.0
[root@netmask ~]# vim /etc/NetworkManager/system-connections/eth0.nmconnection
[root@netmask ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0
 
[ipv4]
address1=192.168.0.20/24,192.168.0.100
method=manual
dns=114.114.114.114;
[root@lvs ~]# nmcli connection reload
[root@lvs ~]# nmcli connection up eth0
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
 
[root@netmask ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.100   0.0.0.0         UG    100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
 
[root@netmask ~]# yum install httpd -y   
[root@netmask ~]# echo webserver2 - 192.168.0.20 > /var/www/html/index.html
[root@netmask ~]# systemctl enable --now httpd

[root@client ~]#  vim /etc/NetworkManager/system-connections/eth0.nmconnection
[root@client ~]#  cat /etc/NetworkManager/system-connections/eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0
 
[ipv4]
address1=172.25.254.200/24,172.25.254.100
method=manual
dns=114.114.114.114;

[root@router ~]# vim /etc/NetworkManager/system-connections/eth0.nmconnection
[root@router ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0
 
[ipv4]
address1=172.25.254.100/24,172.25.254.2
method=manual
dns=114.114.114.114;
[root@router ~]# vim /etc/NetworkManager/system-connections/eth1.nmconnection
[root@router ~]# cat /etc/NetworkManager/system-connections/eth1.nmconnection
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
address1=192.168.0.100/24
method=manual
dns=114.114.114.114;
[root@router ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1      
net.ipv4.ip_forward_update_priority = 1
net.ipv4.ip_forward_use_pmtu = 0

[root@router ~]# vim /etc/sysctl.conf
[root@router ~]# cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.ip_forward = 1

[root@router ~]# vim /etc/sysctl.conf
[root@router ~]# sysctl -p


[root@lvs ~]# vim /etc/NetworkManager/system-connections/eth1.nmconnection
[root@lvs ~]# cat /etc/NetworkManager/system-connections/eth1.nmconnection
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
address1=192.168.0.50/24,192.168.0.100
method=manual
dns=114.114.114.114;
[root@lvs ~]# route -n
[root@lvs ~]# ip a a 192.168.0.200/32 dev lo
[root@lvs ~]# 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
    inet 192.168.0.200/32 scope global lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@lvs ~]# ipvsadm -A -t 192.168.0.200:80 -s wrr
[root@lvs ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.10:80 -g -w 1
[root@lvs ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.20:80 -g -w 2
[root@lvs ~]# 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.0.200:80 wrr
  -> 192.168.0.10:80              Route   1      0          0
  -> 192.168.0.20:80              Route   2      0          0

webserver1:使VIP不对外响应给环回添加ip设vip

[root@netmask ~]# nmcli connection reload
[root@netmask ~]# nmcli connection up eth0
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
 
[root@netmask ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@netmask ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@netmask ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@netmask ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@netmask ~]# ip a a 192.168.0.200/32 dev lo   

LVS(Linux Virtual Server)算法是Linux虚拟服务器集群系统中的负载均衡调度算法,用于决定如何将客户端的请求分发到后端真实服务器(Real Server)上。LVS算法主要分为静态算法和动态算法两大类,每种算法都有其特定的应用场景和优缺点。以下是对LVS算法的详细解析:

静态算法

静态算法只根据算法本身进行调度,而不考虑后端服务器的实际连接情况和负载情况。常见的静态算法包括:

  1. 轮询(Round Robin, RR)
    • 原理:调度器通过“轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器。
    • 适用场景:适用于服务器性能相近且负载均衡需求较为简单的场景。
    • 优点:实现简单,请求分配均匀。
    • 缺点:无法考虑服务器的实际性能和负载情况。
  2. 目标地址散列(Destination Hash, DH)
    • 原理:根据请求的目标IP地址,作为散列键(HashKey)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器。
    • 适用场景:适用于需要将特定目标IP的请求发送到同一服务器的场景。
  3. 源地址散列(Source Hash, SH)
    • 原理:根据请求的源IP地址,作为散列键(HashKey)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器。
    • 适用场景:适用于需要保持会话一致性的场景,如缓存服务或数据库查询。

      动态算法

      动态算法会根据后端真实服务器的实际连接情况来分配请求。常见的动态算法包括:

    • 最少连接(Least Connections, LC)
      • 原理:动态地将网络请求调度到已建立的连接数最少的服务器上。
      • 适用场景:适用于服务器性能相近且需要均衡负载的场景。
      • 优点:能更好地实现负载均衡。
    • 加权最少连接(Weighted Least Connections, WLC)
      • 原理:在集群系统中的服务器性能差异较大的情况下,调度器采用“加权最少链接”调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。
      • 适用场景:服务器性能差异较大的场景。
    • 最短延迟(Shortest Expected Delay, SED)
      • 原理:在WLC基础上改进,通过计算服务器的期望延迟来选择延迟最短的服务器。
      • 适用场景:需要优化响应时间的场景。
    • 永不排队/最少队列(Never Queue Scheduling, NQ)
      • 原理:无需队列,如果有服务器的连接数为0就直接分配请求,不考虑其他因素。
      • 适用场景:对响应时间要求极高且服务器性能差异不大的场景。
    • 基于局部性的最少连接(Locality-Based Least Connections, LBLC)
      • 原理:基于局部性的最少连接调度算法是针对目标IP地址的负载均衡,它根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,则将请求发送到该服务器。
      • 适用场景:主要用于Cache集群系统。
防火墙标签解决轮询错误

安装mod_ssl并重启apache

[root@netmask ~]# yum install mod_ssl -y
正在更新 Subscription Management 软件仓库。
[root@netmask ~]# systemctl restart  httpd  重启httpd服务

[root@lvs ~]# ipvsadm -C
[root@lvs ~]# ipvsadm -Ln
[root@lvs ~]# iptables -t mangle -A PREROUTING -d 192.168.0.200 -p tcp -m multiport --dports                                        80,443 -j MARK  --set-mark 66
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@lvs ~]# ipvsadm -A -t 192.168.0.200:443 -s rr
[root@lvs ~]# ipvsadm -a -t 192.168.0.200:443 -r 192.168.0.10:443 -g
[root@lvs ~]# ipvsadm -a -t 192.168.0.200:443 -r 192.168.0.20:443 -g
[root@lvs ~]# ipvsadm -A -t 192.168.0.200:80 -s rr
[root@lvs ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.10:80 -g -w 1
[root@lvs ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.20:80 -g -w 2

[root@lvs ~]# 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.0.200:80 rr
  -> 192.168.0.10:80              Route   1      0          0
  -> 192.168.0.20:80              Route   2      0          0
TCP  192.168.0.200:443 rr
  -> 192.168.0.10:443             Route   1      0          0
  -> 192.168.0.20:443             Route   1      0          0

为端口做标记:

[root@lvs ~]# iptables -t mangle -A PREROUTING -d 192.168.0.200 -p tcp -m multiport --dports 80,443 -j MARK  --set-mark 666

client客户端测试


[root@client ~]# curl 192.168.0.200;curl -k  https://192.168.0.200
webserver1 - 192.168.0.10
webserver2 - 192.168.0.20
[root@client ~]# curl 192.168.0.200;curl -k  https://192.168.0.200
webserver2 - 192.168.0.20
webserver1 - 192.168.0.10

【管理科学】第六十三篇 企业管理者招聘与人才博弈战略02 编号类型领域问题问题的数学分析(含逐步推理与数值范围)方法/手段/步骤/流程/话术/策略/行为/时序的所有内容和步骤(含数学表达式与数值分析)时序数学表达式及周期行动的数学表达式(含数值范围)关联知识和法律法规651组织博弈成本控制如何在保证质量的前提下有效控制成本?逐步推理: 1. 成本控制模型:成本每降低10%,利润可提升15%~25%。但过度降本可能影响质量和员工士气。 2. 控制效果:有效的成本控制可使利润率提升5%~10%。 3. 法律风险:需遵守劳动法和产品质量法。步骤与数学表 阅读详情

相关推荐

YOLO26算法星形目标识别+训练好的模型+100张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[星星(Star)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 85 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9950** mAP50-95 | 0.8477 Precision | 1.0000 Recall | 0.9954 train/box_loss | 0.8235 train/cls_loss | 0.7275 val/box_loss | 0.7248 val/cls_loss | 0.9621 【训练过程分析】 85 轮训练后,我们得到了一个 mAP50 为 0.9950 的模型,这真是让人惊喜的成绩。一开始,模型的训练过程进展非常迅速,loss 在前 20 轮内从 1.5000 下降到 1.0000 附近,此后,loss 依然保持稳步下降,但速度明显放缓,特别是在第 30 轮到第 50 轮之间,loss 曲线进入了一个平台期,大约在 0.85 附近徘徊了 10 轮,直到第 60 轮左右才再度加速下降。这样的表现说明模型在前期阶段收敛良好,但到了后期,确实需要更多的训练轮次以确保模型的稳定性。 在验证集上,val_loss 保持平稳,没有出现明显的波动,这进一步证明了模型没有过拟合。然而,我们注意到在第 80 轮和第 85 轮之间,val_loss 似乎有所微弱的反弹,尽管这种波动并不显著。在训练集上,前 50 轮训... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

LVS负载均衡验证轮询算法和加权轮询算法

本实验通过LVS负载均衡的方式去访问一个nginx集群,nginx1显示“web test page, my ip is 192.168.112.136 192.168.112.140 .”,nginx2显示“web test page, my ip is 192.168.112.137 192.168.112.140 .”: 轮询算法是将客户端的请求轮流分发给内部的服务器。

杜小帅的博客 641

科技中介服务机构如何提升客户在技术评估与需求匹配环节的服务效率与专业度.docx

科技中介服务机构如何提升客户在技术评估与需求匹配环节的服务效率与专业度

排错集锦——LVS+Keepalive配置vip显示already uses address

问题:LVS+Keepalive配置vip显示already uses address [root@lvs2 network-scripts]# ifup ens32:0 ERROR : [/etc/sysconfig/network-scripts/ifup-eth] Error, some other host (00:0C:29:67:4A:E6) already uses address 192.168.100.100. 解决方法: 注释文件的内容 [root@dr2 ~]# vim /

lv74134的博客 257

51单片机的温湿度检测报警系统仿真资料

51单片机的温湿度检测报警proteus仿真系统

国央企创新负责人如何通过平台识别并引进关键技术?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

综合实验:LVS+LAMP+NFS+MySQL读写分离

目录综合实验106~108:mysql主从半同步复制105:布署ProxySQL101:布署powerDNS104:NFS配置104:布署wordpress102:安装apache+php103:安装apache+php 综合实验 实验环境:9台虚拟机 192.168.99.78:图形界面的 192.168.99.101:powerDNS 192.168.99.102~3:web布署wordp...

Not Found 404 3046

科技中介服务机构如何打造高效、可复制的技术交易服务流程?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

搭建Keepalived+LNMP架构web动态博客 实现高可用与负载均衡

环境准备: 192.168.193.80 node1 192.168.193.81 node2 关闭防火墙 [root@node1 ~]# systemctl stop firewalld #两台都关闭 [root@node1 ~]# setenforce 0 setenforce: SELinux is disabled host文件 [root@no...

weixin_30808253的博客 434

ESP32-P4开发板实战:从零配置VSCode环境到点亮MIPI-DSI屏幕(避坑指南)

本文详细介绍了ESP32-P4开发板在VSCode环境下的配置流程,包括SDK安装、idf_component.yml依赖管理,以及MIPI-DSI屏幕驱动的实现方法。通过实战指南帮助开发者避开常见配置陷阱,快速完成从环境搭建到屏幕点亮的全流程,适用于物联网和嵌入式开发场景。

pp12345的博客 742

跟着Cell学单细胞转录组分析(五):单细胞转录组marker基因鉴定及细胞群注释

书接上回(跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类)。完成数据降维和细胞聚类后,最主要的环节和工作就是确定各个细胞群,明确是什么类型的细胞,正群的细胞定群很关键,涉及到整个研究,所以这一步宁愿多费时间,也不要出错。当然,这也不是一蹴而就的,需要反复的确认。 要确定各个群是什么细胞,首先需要了解细胞群的marker基因,因为不同类型的细胞突出 表达的基因也是不同的。这里使用FindAllMarkers鉴定各个细胞群的高表达基因。 DefaultAssay(scedata)

qq_42090739的博客 1万+

9.Ribbon负载均衡(一)

概述 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Rib...

weixin_42746471的博客 148

RenderDoc实战:5分钟搞定安卓Vulkan应用抓帧(含常见连接失败排查)

本文详细介绍了如何使用RenderDoc工具对安卓Vulkan应用进行抓帧分析,包括环境配置、完整抓帧流程及常见连接问题的解决方案。通过实战案例和高级技巧,帮助开发者快速定位渲染问题和性能瓶颈,提升移动图形开发效率。

weixin_28318011的博客 282

CentOS虚拟机重置账号密码,2024年最新贼厉害

5.输入mount -o remount, rw /7.执行touch /.autorelabel。4.填写完成后按Ctrl+x引导启动。3.找到如下位置,插入。

m0_55030688的博客 433

VSCode终端打不开?3分钟搞定Windows下Terminal配置(附最新JSON设置方法)

本文针对Windows系统下VSCode终端无法启动的常见问题,提供了详细的诊断与解决方案。核心在于更新已弃用的旧配置,采用最新的JSON设置方法,通过定义`terminal.integrated.profiles.windows`和指定`terminal.integrated.defaultProfile.windows`,快速修复并优化终端配置,实现三分钟内恢复正常使用。

flower的专栏 742

【C++】开源:ncurses终端TUI文本界面库

ncurses配置使用(TUI)

DevFrank的博客 3168

springcloud-Ribbon负载均衡

文章目录Ribbon负载均衡1.Ribbon负载均衡概述2.Ribbon配置步骤 Ribbon负载均衡 1.Ribbon负载均衡概述 1、是什么? 2、能干吗? LB(负载均衡) LB,即负载均衡(Load Balance),在微服务或分布式集群中经常用的一种应用。 负载均衡简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA。 常见的负载均衡有软件Nginx,LVS,硬件 F5等。 相应的在中间件,例如:dubbo和SpringCloud中均给我们提供了负载均衡,SpringCloud的

ginger_mr的博客 229

8.2 发展趋

分子泵技术正处在一个快速变革的时代,面对日益增长的应用需求和不断涌现的技术挑战,其发展呈现出多元化、智能化和高度集成化的趋势。这些发展趋势不仅代表着技术创新的方向,也预示着分子泵在未来工业体系中将要扮演的更加重要的角色。

技术工作者 115

大型网站架构之应用服务器集群化

随着网站的发展,一台应用服务器无法处理太多用户请求,考虑部署多台应用服务器组成集群来提供服务。此时问题来了? [color=red]问题1:[/color]扩展到多台应用服务器时,可能同一个用户的先后两次请求由不同的应用服务器处理,这个时候不同的应用服务器如何进行session的管理。(应用服务器集群的session管理) [color=red]问题2:[/color]如何将请求均匀的分发...

臻是二哥 165

UMI——斯坦福刷盘机器人:通过手持夹爪革新数据收集方式,且使用视觉SLAM和Diffusion Policy预测动作

没想到今年年初的斯坦福mobilealoha的热度刚过,而到今年2月的下旬,斯坦福另一个团队又推出了UMI刷盘机器人,且这两个团队还互相认识、还在一块共同切磋(顺带小小感叹一下,斯坦福的氛围是真好而且真高产)斯坦福UMI刷盘机器人其与mobile aloha(以及AirExo: Low-Cost Exoskeletons for Learning Whole-Arm Manipulation in the Wild)最大的不同在于其收集数据处理的非真实的机器人,而是一个手持夹持器(从而大幅降低成本)

u013250861的博客 1357

Simulink仿真模块 - Data Type Conversion

Data Type Conversion将输入信号转换为指定的数据类型 在仿真库中的位置为: Simulink / 常用模块 Simulink / Signal Attributes 模型为: 说明 DataTypeConversion模块可将任何 Simulink®数据类型的输入信号转换为您指定的数据类型。 注意 要通过指定模块参数来控制输出数据类型,或者要从下游模块继承数据类型,使用DataTypeConversion模块。要...

jk_101的博客 2520

Linux基础指令,BTAJ面试有关散列(哈希)表的面试题详解

打开当前文件夹的上一级目录。查看当前目录下的文件。

2401_84140485的博客 131

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

KVM 虚拟化综合实战|从零搭建 Keepalived+LVS‑DR 高可用 Web 集群

摘要:本文完整复现一套企业级 KVM 虚拟化实验,包含 KVM 宿主机部署、虚拟网络、存储池、qcow2 差分模板虚拟机批量生成,最终基于 KVM 虚拟环境完成`Keepalived+LVS‑DR`负载均衡集群,搭配 NFS 共享存储、RAID5 磁盘冗余,同时完成多维度故障模拟验证。适合运维工程师、Linux 学习者,全文可跟着操作复现完整实验

ShiqingfengA的博客 628

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【集群】地址装换模式(LVS-NAT)

本案例实现LVS-NAT模式负载均衡集群,通过配置LVS调度器(192.168.10.128)对两台后端Web服务器(192.168.93.102/103)进行轮询调度。开启内核路由转发,设置节点网关指向LVS,部署httpd服务并配置不同首页内容以验证负载分发。客户端访问VIP时,请求经由LVS转换地址后分发至不同节点,通过ipvsadm可查看连接状态与分配情况,实现高可用、高性能的负载均衡架构。

weixin_73059729的博客 205

【集群】LVS-DR群集

本文搭建LVS-DR集群,实现负载均衡。配置调度器LVS(192.168.93.101)绑定VIP(192.168.93.100),使用RR算法分发80端口请求至两台Web节点(192.168.93.102/103)。各节点通过lo:0虚拟接口承载VIP,并禁用ARP响应避免冲突。关闭防火墙与SELinux,调整内核参数确保通信正常。部署HTTP服务并设置不同首页内容,客户端访问VIP可轮询获取不同页面,验证负载均衡效果。

weixin_73059729的博客 119
上一篇: pxe8.4
下一篇: haproxy
NewYui
博客等级 码龄3年 64粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值