LVS负载均衡群集NAT模式

LVS负载均衡群集NAT模式

  • 一、集群与分布式
    • 1.1、集群的含义
    • 1.2、lvs模型
    • 1.3、系统性能扩展方式
    • 1.4、群集的三种类型
      • 1.4.1、负载均衡群集
      • 1.4.2、高可用群集
      • 1.4.3、高性能运算群集
    • 1.5、LVS的负载调度算法
      • 1.5.1、轮询
      • 1.5.2、加权轮询
      • 1.5.3、最少连接
      • 1.5.4、加权最少连接
      • 1.5.5、ip_hash
      • 1.5.6、url_hash
      • 1.5.7、 fail
  • 1.6、分布式系统
  • 1.7、集群和分布式
  • 1.8、集群设计原则
  • 1.9、集群设计实现
    • 1.9.1、基础设施层面
    • 1.9.2、业务层面
  • 1.10、负载均衡群集架构
  • 1.11、 LB Cluster 负载均衡集群
    • 1.11.1、 按实现方式划分
    • 1.11.2、基于工作的协议层次划分
    • 1.11.3、负载均衡的会话保持
  • 1.12、HA 高可用集群实现
  • 二、 Linux Virtual Server简介
    • 2.1、LVS介绍
    • 2.2、 LVS工作原理
    • 2.3、LVS 功能及组织架构
      • 2.3.1、应用于高访问量的业务
      • 2.3.2、扩展应用程序
      • 2.3.3、消除单点故障
    • 2.4、 LVS集群类型中的术语
  • 三、LVS工作模式和相关命令
    • 3.1、 LVS集群的工作模式
      • 3.1.1、 LVS的NAT模式
      • 3.1.2、 IP隧道
      • 3.1.3、直接路由
      • 3.1.4、 LVS工作模式总结和比较
  • 四、ipvsadm 工具
    • 4.1 ipvsadm 工具选项说明
  • 五、NAT模式 LVS负载均衡部署
    • 5.1部署共享存储(NFS服务器:192.168.11.11)
    • 5.2节点Web服务器

一、集群与分布式

1.1、集群的含义

  • cluster,集群,群集,为解决某个特定问题将多台计算机组合起来形成的单个系统。
  • 由多台主机构成,但对外只表现为一个整体

1.2、lvs模型

在这里插入图片描述

1.3、系统性能扩展方式

  • scale UP:垂直扩展,向上扩展,增强,性能更强的计算机运行同样的服务
  • scale Out:水平扩展,增加设备,并行运行多个服务调度分配问题
    单台计算机的性能是有上限的,不可能无限制地垂直扩展,多核cpu意味着即使是单台计算机也可以并行的。那么,为什么不一开始就并行化技术

1.4、群集的三种类型

  • 负载均衡群集
  • 高可用群集
  • 高性能运算群集

1.4.1、负载均衡群集

LB:负载均衡多个主机组成,每个主机只承担一部分访问请求

  • 提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟目标,获得高并发,高负载的整体性能
  • LB的负载分配依赖于主节点的分流算法

1.4.2、高可用群集

HA;高可用,避免 SPOF

  • 提高应用系统的可靠性,尽可能地减少中断时间为目标,确保服务的连续性,达到高可用的容错效果
  • HA的工作方式包括双工和主从两种模式

1.4.3、高性能运算群集

高性能运算群集
HPC:高性能

  • 提高应用系统的cpu运算速度,扩展硬件资源和分析能力为目标,获得相当于大型,超级计算机的高性能运算能力
  • 高性能依赖于“分布式”运算、“并行运算”,通过专用硬件和软件将多个服务器的cpu、内存等资源整合在一起,实现只有大型,超级计算机才具备的计算能力

1.5、LVS的负载调度算法

1.5.1、轮询

  • 将收到的访问请求按照顺序轮流分配给群集中的各个节点
  • 均等的对待每台服务器,而不管服务器实际的连接数和系统负载

1.5.2、加权轮询

  • 根据调度器设置的权重值来分发请求
  • 权重值高的节点优先获得任务并且分配的请求越多
  • 这样可以保证性能高的节点承担更多请求

1.5.3、最少连接

  • 根据真实服务器已建立的连接数进行分配
  • 将收到的访问请求优先分配给连接最少得节点
  • 如果所有的服务器节点性能相近,采用这种方式可以更好地负载均衡

1.5.4、加权最少连接

  • 在服务器节点的性能差异较大的情况下,调度器可以根据节点服务器负载自动调整权重
  • 权重较高的节点将承担更大比例的活动连接负载

1.5.5、ip_hash

  • 根据请求来源的IP地址进行hash计算,得到后端服务器
  • 这样来自同一个ip的请求总是会落到同一台服务器上处理,以至于可以将请求上下文信息存储在这个服务器上

1.5.6、url_hash

  • 按访问URl的hash结果来分配请求,使每个url定向到同一个后端服务器
  • 后端服务器为缓存时比较有效

1.5.7、 fail

  • 采用的不是内建负载均衡使用的轮换的均衡算法
  • 而是可以根据页面大小、加载时间长短智能的进行负载均衡
  • 也就是根据后端服务器时间来分配用户请求,响应时间短的优先分配

1.6、分布式系统

  • 分布式存储: 将数据分散存储在多台独立的设备上 。Ceph,GlusterFS,FastDFS,MogileFS
  • 分布式计算: 将该应用分解成许多小的部分,分配给多台计算机进行处理。 hadoop,Spark
  • 分布式常见应用
    • 分布式应用-服务按照功能拆分,使用微服务(单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值服务)
    • 分布式静态资源–静态资源放在不同的存储集群上
    • 分布式数据和存储–使用key-value缓存系统
    • 分布式计算–对特殊业务使用分布式计算,比如Hadoop集群

1.7、集群和分布式

分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

  • 集群:同一个业务系统,部署在多台服务器上。集群中,每一台服务器实现的功能没有差别,数据和代码都是一样的。

  • 分布式:一个业务被拆成多个子业务,或者本身就是不同的业务,部署在多台服务器上。分布式中,每一台服务器实现的功能是有差别的,数据和代码也是不一样的,分布式每台服务器功能加起来,才是完整的业务。

1.8、集群设计原则

1.可扩展性—集群的横向扩展能力
2.可用性—无故障时间 (SLA service level agreement)
3.性能—访问响应时间
4.容量—单位时间内的最大并发吞吐量(C10K 并发问题)

1.9、集群设计实现

1.9.1、基础设施层面

  • 提升硬件资源性能—从入口防火墙到后端 web server 均使用更高性能的硬件资源

  • 多域名—DNS 轮询A记录解析

  • 多入口—将A记录解析到多个公网IP入口

  • 多机房—同城+异地容灾

  • CDN(Content Delivery Network)—基于GSLB(Global Server Load Balance)实现全局负载均衡,如:DNS

1.9.2、业务层面

  • 分层:安全层、负载层、静态层、动态层、(缓存层、存储层)持久化与非持久化

  • 分割:基于功能分割大业务为小服务

  • 分布式:对于特殊场景的业务,使用分布式计算

1.10、负载均衡群集架构

1.第一层,负载调度器(Load Balancer或Director)

2.第二层,服务器池(Server Pool)

3.第三层,共享存储(Share Storage)

在这里插入图片描述

1.11、 LB Cluster 负载均衡集群

1.11.1、 按实现方式划分

  • 硬件
    F5 Big-IP(F5服务器负载均衡模块)
    在这里插入图片描述
    Citrix Netscaler

A10 A10

  • 软件
lvsLinux Virtual Server,阿里四层 SLB (Server Load Balance)使用
nginx支持七层调度,阿里七层SLB使用 Tengine
haproxy支持七层调度
atsApache Traffic Server,yahoo捐助给apache
perlbalPerl 编写

1.11.2、基于工作的协议层次划分

  • 传输层(通用):DNAT 和 DPORT
    LVS:
    nginx:stream
    haproxy:mode tcp
  • 应用层(专用):针对特定协议,常称为 proxy server
    http:nginx, httpd, haproxy(mode http), …
    fastcgi:nginx, httpd, …
    mysql:mysql-proxy, mycat…

1.11.3、负载均衡的会话保持

1.session sticky:同一用户调度固定服务器
Source IP:LVS sh算法(对某一特定服务而言)
Cookie

2.session replication:每台服务器拥有全部session(复制)
session multicast cluster

3.session server:专门的session服务器(server)
Memcached,Redis

1.12、HA 高可用集群实现

keepalived:vrrp协议
Ais:应用接口规范
heartbeat
cman+rgmanager(RHCS)
coresync_pacemaker

二、 Linux Virtual Server简介

2.1、LVS介绍

LVS:Linux Virtual Server,负载调度器,内核集成,章文嵩(花名正明), 阿里的四层SLB(Server Load Balance)是基于LVS+keepalived实现

LVS 官网:http://www.linuxvirtualserver.org/
阿里SLB和LVS:
https://yq.aliyun.com/articles/1803
https://github.com/alibaba/LVS

整个SLB系统由3部分构成:四层负载均衡,七层负载均衡和控制系统

四层负载均衡 ,采用开源软件LVS (linux virtual server),并根据云计算需求对其进行了定制化;该技术已经在阿里巴巴内部业务全面上线应用2年;

七层负载均衡,采用开源软件Tengine;该技术已经在阿里巴巴内部业务全面上线应用3年多;·控制系统,用于配置和监控负载均衡系统;

2.2、 LVS工作原理

VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS。LVS是内核级功能,工作在INPUT链的位置,将发往INPUT的流量进行“处理”

2.3、LVS 功能及组织架构

负载均衡的应用场景为高访问量的业务,提高应用程序的可用性和可靠性。

2.3.1、应用于高访问量的业务

如果您的应用访问量很高,可以通过配置监听规则将流量分发到不同的云服务器 ECS(Elastic Compute Service 弹性计算服务)实例上。此外,可以使用会话保持功能将同一客户端的请求转发到同一台后端ECS

2.3.2、扩展应用程序

可以根据业务发展的需要,随时添加和移除ECS实例来扩展应用系统的服务能力,适用于各种Web服务器和App服务器。

2.3.3、消除单点故障

可以在负载均衡实例下添加多台ECS实例。当其中一部分ECS实例发生故障后,负载均衡会自动屏蔽故障的ECS实例,将请求分发给正常运行的ECS实例,保证应用系统仍能正常工作

2.4、 LVS集群类型中的术语

  • VS:Virtual Server,Director Server(DS), Dispatcher(调度器),Load Balancer(lvs服务器)

  • RS:Real Server(lvs), upstream server(nginx), backend server(haproxy)(真实服务器)

  • CIP:Client IP(客户机IP)

  • VIP:Virtual serve IP VS外网的IP

  • DIP:Director IP VS内网的IP

  • RIP:Real server IP (真实IP

三、LVS工作模式和相关命令

3.1、 LVS集群的工作模式

  • 负载均衡群集是目前企业用得最多的群集类型

  • 群集的负载调度技术有三种工作模式

    • lvs-nat:修改请求报文的目标IP,多目标IP的DNAT

    • lvs-dr:操纵封装新的MAC地址(直接路由)

    • lvs-tun:隧道模式

3.1.1、 LVS的NAT模式

在这里插入图片描述
在这里插入图片描述
lvs-nat:本质是多目标IP的DNAT,通 过将请求报文中的目标地址和目标端口修改为某处的RS的RIP和PORT实现转发
(1)RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
(2)请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
(3)支持端口映射,可修改请求报文的目标PORT
(4)VS必须是Linux系统,RS可以是任意OS系统

3.1.2、 IP隧道

在这里插入图片描述
1.RIP和DIP可以不处于同一物理网络中,RS的网关一般不能指向DIP,且RIP可以和公网通信。也就是说集群节点可以跨互联网实现。DIP, VIP, RIP可以是公网地址。

2.RealServer的通道接口上需要配置VIP地址,以便接收DIP转发过来的数据包,以及作为响应的报文源IP。

3.DIP转发给RealServer时需要借助隧道,隧道外层的IP头部的源IP是DIP,目标IP是RIP,而RealServer响应给客户端的IP头部是根据隧道内层的IP头分析得到的,源IP是VIP,目标IP是CIP

4.请求报文要经由Director,但响应不经由Director,响应由RealServer自己完成

5.不支持端口映射

6.RS的OS须支持隧道功能

3.1.3、直接路由

在这里插入图片描述
在这里插入图片描述

  • 直接路由(Direct Routing):简称 DR 模式,采用半开放式的网络结构,与 TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络。

  • 负载调度器与各节点服务器通过本地网络连接,不需要建立专用的 IP 隧道直接路由,LVS默认模式,应用最广泛,通过请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;

  • 源IP/PORT,以及目标IP/PORT均保持不变

3.1.4、 LVS工作模式总结和比较

NATTUNDR
优点端口转换WAN性能最好
缺点 性能瓶颈服务器支持隧道模式不支持跨网段
真实服务器要求anyTunnelingNon-arp device
支持网络private(私网)LAN/WAN(私网/公网)LAN(私网)
真实服务器数量low (10~20)High (100)High (100)
真实服务器网关lvs内网地址Own router(网工定义)Own router(网工定义)

四、ipvsadm 工具

4.1 ipvsadm 工具选项说明

选项解释
-A添加虚拟服务器
-D删除整个虚拟服务器
-s指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接: wlc)
-a表示添加真实服务器(节点服务器)
-d删除某一个节点
-t指定VIP地址及TCP端口
-r指定RIP地址及TCP端口
-m表示使用NAT群集模式
-g表示使用DR模式
-i表示使用TUN模式
-w设置权重(权重为0时表示暂停节点)
-p 60表示保持长连接60秒
-l列表查看LVS虚拟服务器〔默认为查看所有)
-n以数字形式显示地址、端口等信息,常与"-"选项组合使用。ipvsadm -ln

五、NAT模式 LVS负载均衡部署

配置环境

负载调度器:配置双网卡 内网:192.168.11.14(ens33)  外网卡:12.0.0.1(ens36)
二台WEB服务器集群池:192.168.11.12 192.168.11.13 
一台NFS共享服务器:192.168.11.11
客户端:

5.1部署共享存储(NFS服务器:192.168.11.11)

  • NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡 群集来说,使用 NFS 协议来共享数据存储是比较常见的做法,NFS 也是 NAS 存储设备必然支 持的一种协议。

  • NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程 到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持

1. #关闭防火墙
systemctl stop firewalld
setenforce 02. #安装nfs服务
yum install nfs-utils rpcbind -y3. #新建目录,并创建站点文件
cd /opt/
mkdir yxp dhc
echo "this is yxp" >yxp/index.html
echo "this is dhc" >dhc/index.html4. #开启服务
systemctl start rpcbind
systemctl start nfs5. #授权
chmod 777 yxp/ dhc/6. #设置共享策略
vim /etc/exports
/opt/yxp 192.168.11.0/24(rw,sync)
/opt/dhc 192.168.11.0/24(rw,sync)7. #发布服务
systemctl restart nfs
exportfs -rv

关闭防火墙
在这里插入图片描述
安装nfs服务
新建目录,并创建站点文件

在这里插入图片描述
在这里插入图片描述
开启服务
在这里插入图片描述
授权
在这里插入图片描述
设置共享策略
在这里插入图片描述
在这里插入图片描述
发布服务
在这里插入图片描述

5.2节点Web服务器

第一台(192.168.11.12)

1. #关闭防火墙
systemctl stop firewalld
setenforce 02. #安装httpd
yum install -y httpd3. #查看nfs服务
showmount -e 192.168.11.114. #挂载站点
#法一:临时挂载
df
cat /var/www/html/index.html
mount 192.168.11.11:/opt/yxp /var/www/html/
#法二:永久挂载
vim /etc/fstab
192.168.11.11:/opt/yxp/  /var/www/html/        nfs     defaults,_netdev 0 0 
mount -a5. #开启httpd服务
systemctl start httpd6. #指定网关
vim /etc/sysconfig/network-scripts/ifcfg-ens33 
GATEWAY=192.168.11.11
#DNS1=8.8.8.87. #重启网络服务
systemctl restart network

关闭防火墙
在这里插入图片描述
安装httpd
在这里插入图片描述
查看nfs服务
在这里插入图片描述
挂载站点,临时挂载
在这里插入图片描述
永久挂载
在这里插入图片描述

在这里插入图片描述
开启httpd服务
在这里插入图片描述
指定网关

在这里插入图片描述

在这里插入图片描述
重启网络服务
在这里插入图片描述
第二台(192.168.11.13)

1. #关闭防火墙
systemctl stop firewalld
setenforce 02. #安装httpd
yum install -y httpd3. #查看nfs服务
showmount -e 192.168.11.114. #挂载站点
#法一:临时挂载
mount 192.168.11.11:/opt/dhc /var/www/html/
df
cat /var/www/html/index.html
#法二:永久挂载
vim /etc/fstab
192.168.11.11:/opt/dhc/  /var/www/html/        nfs     defaults,_netdev 0 0 
mount -a5. #开启httpd服务
systemctl start httpd6. #指定网关
vim /etc/sysconfig/network-scripts/ifcfg-ens33 
GATEWAY=192.168.11.11
#DNS1=8.8.8.87. #重启网络服务
systemctl restart network

关闭防火墙
在这里插入图片描述
安装httpd
在这里插入图片描述
查看nfs服务
在这里插入图片描述
临时挂载站点
在这里插入图片描述
永久挂载
在这里插入图片描述
在这里插入图片描述
开启httpd服务
在这里插入图片描述
指定网关
在这里插入图片描述

在这里插入图片描述
重启网络服务
在这里插入图片描述
5.3 负载调度器
内网:192.168.11.11(ens33) 外网卡:12.0.0.1(ens36)

1. #关闭防火墙
systemctl stop firewalld
setenforce 02. #安装ipvsadm
yum install -y ipvsadm*3. #添加一块网卡,我这里是ens36,配置网卡,重启网络
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36
去掉网关、UUID、修改IP
vim ifcfg-ens33
去掉网关
systemctl restart network4. #打开路由转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 
sysctl -p5. #防火墙做策略
#查看策略
iptables -nL -t nat
#清空策略
iptables -F
#添加策略
iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o ens37 -j SNAT --to 12.0.0.1
#查看策略
iptables -nL -t nat6. #加载LVS内核模块
modprobe ip_vs
cat /proc/net/ip_vs7. #开启ipvsadm服务
ipvsadm-save >/etc/sysconfig/ipvsadm
systemctl start ipvsadm.service8. #清空策略
ipvsadm -C9. #制定策略
#指定IP地址 外网的入口  -s rr  轮询
ipvsadm -A -t 12.0.0.1:80 -s rr
#先指定虚拟服务器再添加真实服务器地址,-r:真实服务器地址 -m指定nat模式
ipvsadm -a -t 12.0.0.1:80 -r 192.168.11.12:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.11.13:80 -m
#开启服务
ipvsadm10. 查看策略
ipvsadm -ln

关闭防火墙

在这里插入图片描述
安装ipvsadm
在这里插入图片描述
添加一块网卡,我这里是ens36,配置网卡
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
打开路由转发功能

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
防火墙做策略
在这里插入图片描述
开启路由功能,刷新
在这里插入图片描述
开启ipvsadm服务
在这里插入图片描述
清空策略
在这里插入图片描述
制定查看策略
在这里插入图片描述
连通性测试
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

pc端测试手机浏览器运行情况,主要是测试硬件功能

测试h5震动摇晃等功能时不方便测试,需要连电脑显示调试数据 方法: 1.需要手机下载谷歌浏览器,pc端用edge或这谷歌浏览器 2.手机打开USB调试,打开要测试的网页 3.pc端地址栏输入edge://inspect/#devices(这里用的edge浏…

K8S:kubeadm搭建K8S+Harbor 私有仓库

文章目录 一.部署规划1.主机规划2.部署流程 二.kubeadm搭建K8S1.环境准备2.安装docker3. 安装kubeadm,kubelet和kubectl4.部署K8S集群(1)初始化(2)部署网络插件flannel(3)创建 pod 资源 5.部署 …

Linux HTTP协议

目录 1.浏览器与服务器通信过程2.HTTP请求报头(1)HTTP的请求报头结构(2)HTTP的请求方法 3.HTTP应答报头(1)HTTP的应答报头结构(2) HTTP的应答状态 1.浏览器与服务器通信过程 浏览器…

回归预测 | MATLAB实现PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测(多指标,多图)效果一览…

清理Maven仓库中下载失败的文件

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

Nginx详解 五:反向代理

文章目录 1. 正向代理和反向代理1.1 正向代理概述1.1.1 什么是正向代理1.1.2 正向代理的作用1.1.3 正向代理的基本格式 1.2 反向代理概述1.2.1 什么是反向代理1.2.2 反向代理可实现的功能1.2.3 反向代理的可用模块 2. 配置反向代理2.1 反向代理配置参数2.1.1 proxy_pass2.1.2 其…

当你的公司突然开始大量的裁员,被留下的你,真的准备好面对以后了吗?

留下来的,也是迷茫的 最近公司突然开始大量裁员,裁了一多半,作为唯一留下的APP 端开发人员,也开始陷入了焦虑,开始了思考,未来究竟何去何从,是否再去转到原生,从事原生的开发工作&a…

C语言入门Day_19 初识函数

目录 1.函数的定义 2.函数的调用 3.易错点 4.思维导图 前言: printf()我们已经很熟悉了,它有一个特定的功能,就是在屏幕上输出一行文字。之前的课程我们都称呼printf()为一个功能,实际上ta在编程中有个特定的名字——函数。 …

测试-----selenuim webDriver

文章目录 1.页面导航2.元素定位3. 浏览器操作4.获取元素信息5. 鼠标的操作6. 键盘操作7. 元素等待8.下拉框9.弹出框10.滚动条11.frame处理12.验证码处理(cookie) 1.页面导航 首先是导入对应的包 :from selenium import webdriver然后实例化:driver web…

网络安全宣传周|探索AI数字人的魅力和价值所在

9月11日至9月17日是国家网络安全宣传周,在福州举办的安全博览会上有着多种人工智能模型产品亮相现场,吸引着众多参观者的目光,尤其是AI数字人面对不同的问题、不同的场景都可以进行实时响应,不同于冷冰冰的传统智能客服的对话场景…

前端面试合集(二)

前端面试题合集 1.懒加载的原理及实现了解吗2.如何理解JS异步3.阐述一下 JS 的事件循环4.JS 中的计时器能做到精确计时吗?为什么? 1.懒加载的原理及实现了解吗 原理:当图片没有到达可视范围内时,图片不加载,当图片一旦…

Mobileye CEO来华:只有能控制住成本的公司,才能活下来

‍作者|德新 编辑|王博 上午9点近一刻,Mobileye CEO Amnon Shuashua步入酒店的会议室。由于Amnon本人是以色列希伯来大学的计算机科学教授,大部分人更习惯称他为「教授」。 时近以色列的新年,这趟教授的中国之行安排十分紧凑。 他率领了一…

遥遥领先的内存函数

目录 ​编辑 函数介绍 1.1 strlen 1.2 strcpy 1.3 strcmp 1.4 strcat 1.5 strstr 2.1 memcpy 2.2 memmove 2.3 memcmp 函数实现 1.1 strlen 1.2 strcpy 1.3 strcmp 1.4 strcat 1.5 strstr 2.1 memcpy 2.3 memcmp 函数介绍 1.1 strlen size_t strlen ( const char *…

SpringBoot整合Redis,基于Jedis实现redis各种操作

前言&#xff08;三步教你学会redis&#xff0c;主打一个实用&#xff09; springboot整合redis步骤&#xff0c;并基于jedis对redis数据库进行相关操作&#xff0c;最后分享非常好用、功能非常全的redis工具类。 第一步&#xff1a;导入maven依赖 <!-- springboot整合re…

小程序代码管理

“微信开发者工具”点击版本管理&#xff0c;然后点击代码管理会打开代码管理网页。 选择对应的项目组。 进来后点击创建项目。 输入git名称&#xff0c;然后选择命名空间&#xff0c;最后创建即可。 在刚才的“微信开发者工具”选择设置&#xff0c;然后添加远程。 输入名称&…

朋友圈大佬都去读研了,这份备考书单我码住了

作者简介&#xff1a; 辭七七&#xff0c;目前大二&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

pycharm安装jupyter,用德古拉主题,但是输入行全白了,看不清,怎么办?

问题描述 今天换了以下pycharm主题&#xff0c;但是jupyter界面输入代码行太白了&#xff0c;白到看不清楚这行的字&#xff0c;更不知道写的是什么&#xff0c;写到哪了&#xff0c;这还是挺烦人的&#xff0c;其他都挺正常的。 问题分析 目前来看有两个原因&#xff1a; 1、…

【新版vscode配置自动补全括号】

vscode新版配置自动补全括号方法 新版配置方法(Pylance) ①设置 -> 扩展 -> Pylance -> 将 python.analysis.completeFunctionParens 下方的选项打勾 ②直接在settings.json中添加"python.analysis.completeFunctionParens": true

【Apollo】自动驾驶技术的介绍

阿波罗是百度发布的名为“Apollo&#xff08;阿波罗&#xff09;”的向汽车行业及自动驾驶领域的合作伙伴提供的软件平台。 帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统&#xff0c;快速搭建一套属于自己的自动驾驶系统。 百度开放此项计划旨在建立一个以合作为中…

CSS - 快速实现悬浮吸顶,当页面滑动一定距离时固定吸附在顶部(position: sticky)

效果图 如下图所示&#xff0c;利用 position: sticky 属性轻松实现。 示例代码 新建一个 *.html 文件&#xff0c;一键复制运行起来。 <body><section class"content"><div class"item">我是悬浮吸顶区域</div><h1>我是…