LVS負載均衡群集和keepalive

目錄

一. 集群概述

1.1 集群的定義

1.2?集群的分類

1.??高可用集群 HA

2.?高性能運輸群集 HPC

3.負載均衡群集 LB

4.??分布式存儲集群

二. LVS概述

2.1 LVS的定義

2.2 LVS的工作原理

2.3 LVS 的三種工作模式

2.4 LVS 三種工作模式的對比

2.5?LVS 調度算法

1. 靜態方法

2. 動態方法

三.?LVS集群創建與管理

3.1 LVS集群類型中的術語

3.2?ipvsadm工具

3.2.1?ipvsadm工具選項

3.2.2 常見操作

1.?列出規則

2. 建立集群

3. 添加后端服務器?

4. 刪除后端服務器?

5. 刪除集群

四. DR模式部署

4.1 配置負載調度器

4.2 配置節點服務器

五. keepalive概述

5.1 vrrp技術

5.1.2 vrrp相關術語

5.2?keepalive的定義

5.3 keepalive的功能

5.4 keepalive架構

六. 安裝keepalive

6.1 centos7-yum安裝

6.2 Ubuntu-apt安裝

6.3 centos7-編譯安裝

6.4 Ubuntu-編譯安裝

七.?keepalived的相關文件

7.1?配置組成

7.1.1 全局配置

7.1.2?配置虛擬路由器


一. 集群概述

1.1 集群的定義

集群(Cluster)?是指將多臺計算機或服務器通過某種方式連接在一起,作為一個整體來提供服務或執行任務的技術架構。

1.2?集群的分類

1.?高可用集群 HA

目標:確保服務的高可用性,減少停機時間。

實現方式:通過冗余節點和故障轉移機制,當主節點故障時,備用節點立即接管服務。

例如:Keepalived、heartbeat

2.?高性能運輸群集 HPC

目標:通過并行計算解決復雜的科學計算或數據處理任務

實現方式:將任務分解為多個子任務,分配到多個節點并行執行。

3.負載均衡群集 LB

目標:將請求或任務均勻分配到多個節點,提高系統性能和資源利用率。

實現方式:通過負載均衡器(如LVS、Nginx、HAProxy)將請求分發到后端服務器。

例如:LVS、Nginx

4.??分布式存儲集群

目標:提供高可用、可擴展的存儲服務。

實現方式:將數據分布到多個節點存儲,并通過冗余機制確保數據安全。


二. LVS概述

2.1 LVS的定義

LVS(Linux Virtual Server)?是一種基于 Linux 內核的高性能、高可用的負載均衡技術,用于將客戶端請求分發到多個后端服務器節點,以提高系統的處理能力和可用性。

2.2 LVS的工作原理

  1. 客戶端發起請求

    • 客戶端通過訪問 LVS 的虛擬 IP(VIP)發起請求。
  2. 負載均衡器接收請求

    • 負載均衡器接收客戶端的請求,并根據預定義的調度算法選擇一個后端服務器節點。
  3. 請求分發

    • 負載均衡器將請求轉發到選定的后端服務器節點。
    • 轉發方式取決于 LVS 的工作模式(NAT、DR 或 TUN)。
  4. 后端服務器處理請求

    • 后端服務器節點處理請求并生成響應。
  5. 響應返回客戶端

    • 后端服務器將響應返回給客戶端。
    • 返回方式取決于 LVS 的工作模式(NAT、DR 或 TUN)。

2.3 LVS 的三種工作模式

1.?NAT 模式

  • 工作原理

    1. 客戶端發送請求到 LVS 的虛擬 IP(VIP)。

    2. 負載均衡器將請求的源 IP 地址修改為自身的 IP 地址,并將請求轉發到后端服務器。

    3. 后端服務器處理請求,并將響應返回給負載均衡器。

    4. 負載均衡器將響應的目標 IP 地址修改為客戶端的 IP 地址,并將響應返回給客戶端

2.?DR 模式

  • 工作原理

    1. 客戶端發送請求到 LVS 的虛擬 IP(VIP)。

    2. 負載均衡器將請求直接轉發到后端服務器,不修改 IP 地址。

    3. 后端服務器處理請求,并直接將響應返回給客戶端。

?3.?TUN 模式

  • 工作原理
    1. 客戶端發送請求到 LVS 的虛擬 IP(VIP)。
    2. 負載均衡器通過 IP 隧道將請求封裝并轉發到后端服務器。
    3. 后端服務器解封裝請求,處理請求,并直接將響應返回給客戶端。

2.4 LVS 三種工作模式的對比

NATTUNDR
優點端口轉換WAN性能最好
缺點性能瓶頸服務器支持隧道模式不支持跨網段
真實服務器要求anyTunnelingNon-arp device
支持網絡private(私網)LAN/WAN(私網/公網)LAN(私網)
真實服務器數量low (10~20)High (100)High (100)
真實服務器網關lvs內網地址Own router(網工定義)Own router(網工定義)

2.5?LVS 調度算法

分為兩種:

靜態方法: 不管后端真實服務器的 狀態,根據自身 算法進行調度

動態方法: 會根據后端服務器的狀態來進行調度

1. 靜態方法

輪詢(RR):將請求依次分發到每個后端服務器節點。

加權輪詢(WRR):根據后端服務器的權重分發請求,權重越高,分配的請求越多

源地址哈希(SH):根據客戶端的源 IP 地址哈希值分發請求,確保同一客戶端的請求被分發到同一臺后端服務器。

目標地址哈希(DH):通過讓后端服務器直接響應客戶端請求來優化性能和簡化配置。

2. 動態方法

最小連接數(LC):將請求分發到當前連接數最少的后端服務器節點。

加權最小連接數(WLC):根據后端服務器的權重和連接數分發請求。

預期延遲最短(SED):選擇預期延遲最短的后端服務器來處理請求。

空閑(NQ):優先選擇?空閑?的后端服務器,如果沒有空閑服務器,則退化為 SED 算法。

基于地址的最小連接數(LBLC):基于?請求的源地址?和?后端服務器的活動連接數?進行分發,確保同一客戶端的請求被分發到同一臺后端服務器。


三.?LVS集群創建與管理

3.1 LVS集群類型中的術語

  1. VS(代理服務器):Virtual Server,Director Server(DS), Dispatcher(調度器),Load Balancer(lvs服務器) 代理服務器

  2. RS(真實服務器):Real Server(lvs), upstream server(nginx), backend server(haproxy)(真實服務器)

  3. CIP:Client IP(客戶機IP) 客戶機的ip

  4. VIP:Virtual serve IP VS外網的IP 代理服務器的 外網ip

  5. DIP:Director IP VS內網的IP 代理服務器的 內網ip

  6. RIP:Real server IP 真實服務器的 ip地址

3.2?ipvsadm工具

LVS集群通過ipvsadm工具創建管理

3.2.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: 以數字形式顯示地址、端口等信息,常與"-l“選項組合使用。ipvsadm -ln

3.2.2 常見操作

1.?列出規則
ipvsadm -L
2. 建立集群
格式:
ipvsadm -A -t <虛擬IP>:<端口> -s <調度算法>例子:
ipvsadm -A -t  192.168.91.188:80 -s rr
3. 添加后端服務器?
格式:
ipvsadm -a -t <虛擬IP>:<端口> -r <后端服務器IP>:<端口> -g -w <權重>例子:
ipvsadm -a -t 192.168.91.188:80 -r  192.168.91.100:80  -g
4. 刪除后端服務器?
格式:
ipvsadm -d -t <虛擬IP>:<端口> -r <后端服務器IP>:<端口>例子:
ipvsadm -d -t 192.168.91.188:80 -r 192.168.91.100:80
5. 刪除集群
格式:
ipvsadm -D -t <虛擬IP>:<端口>例子:
ipvsadm -D -t 192.168.91.188:80

四. DR模式部署

4.1 配置負載調度器

ubuntu 調度器配置1.更新系統并安裝 ipvsadm
apt update
apt install ipvsadm -y2.添加虛擬IP(VIP)
ifconfig ens33:0 192.168.52.188/243.配置LVS規則
添加虛擬服務器(VIP)并設置調度算法為輪詢(rr):
ipvsadm -A -t 192.168.52.188:80 -s rr
添加真實服務器(RIP):
ipvsadm -a -t 192.168.52.188:80 -r 192.168.52.100:80 -g
ipvsadm -a -t 192.168.52.188:80 -r 192.168.52.101:80 -g4.修改內核參數:
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0使配置生效:
sudo sysctl -p

4.2 配置節點服務器

centos7-13真實服務器1配置1.安裝Nginx:
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx2.設置測試頁面
echo "7-13" > /usr/share/nginx/html/index.html3.修改內核參數
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 = 24.添加虛擬IP(VIP)
ifconfig ens33:0 192.168.52.188/24
centos7-14 真實服務器2配置yum install epel-release -y
yum install nginx -y
systemctl start nginx"7-14" > /usr/share/nginx/html/index.htmlvim /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 = 2sysctl -pifconfig ens33:0 192.168.52.188/24

測試
在集群外的新機器上測試:
curl 192.168.52.188
多次執行 curl 命令,觀察返回的內容是否在 7-13 和 7-14 之間輪換。

五. keepalive概述

5.1 vrrp技術

VRRP?是一種用于實現?路由器高可用性的網絡協議。它通過將多個路由器組成一個虛擬路由器組,并分配一個虛擬 IP 地址(VIP),確保在主路由器故障時,備用路由器能夠接管流量,從而實現網絡服務的連續性。

5.1.2 vrrp相關術語

虛擬路由器(Virtual Router):由多個物理路由器組成的一個邏輯路由器。

虛擬 IP 地址(VIP):虛擬路由器對外提供的 IP 地址,客戶端通過該 IP 地址訪問網絡服務。

主路由器(Master Router):在虛擬路由器組中,負責轉發流量的路由器,持有虛擬 IP 地址。

備用路由器(Backup Router):在主路由器故障時,接管流量并成為新的主路由器,平時處于監聽狀態,不轉發流量。

優先級(Priority):用于選舉主路由器的參數,優先級越高,越有可能成為主路由器。

5.2?keepalive的定義

Keepalived?是一個用于實現?高可用性負載均衡的開源軟件。它基于?VRRP(Virtual Router Redundancy Protocol)?協議,通過虛擬 IP(VIP)的切換來確保服務的連續性,同時可以與?LVS(Linux Virtual Server)?集成,提供負載均衡功能。

5.3 keepalive的功能

  1. 基于vrrp協議完成地址流動

  2. 為vip地址所在的節點生成ipvs規則(在配置文件中預先定義)

  3. 為ipvs集群的各RS做健康狀態檢測

  4. 基于腳本調用接口完成腳本中定義的功能,進而影響集群事務,以此支持nginx、haproxy等服務

5.4 keepalive架構

  1. vrrp stack:VIP消息通告 虛擬ip

  2. checkers:監測real server(簡單來說 就是監控后端真實服務器的服務)是否存活

  3. system call:實現 vrrp 協議狀態轉換時調用腳本的功能

  4. SMTP:郵件組件(報警郵件)

  5. IPVS wrapper:生成IPVS規則(直接生成ipvsadm)

  6. Netlink Reflector:監控網絡接口狀態變化

  7. WatchDog:監控進程(整個架構是否有問題)

六. 安裝keepalive

6.1 centos7-yum安裝

yum  install   keepalived  -yvim /etc/keepalived/keepalived.conf#修改 interface eth0 為
interface ens33 systemctl start keepalived.servicesystemctl status keepalived.service

6.2 Ubuntu-apt安裝

apt updateapt install keepalived -ycp /usr/share/doc/keepalived/samples/keepalived.conf.sample  /etc/keepalived/keepalived.confvim /etc/keepalived/keepalived.conf#修改interface eth0為
interface ens33systemctl start keepalivedsystemctl status keepalived

6.3 centos7-編譯安裝

yum install gcc curl openssl-devel libnl3-devel net-snmp-devel  -y
# 安裝依賴包環境https://keepalived.org/download.html
# 官網下載安裝包mkdir -p /data/cd /data/wget https://keepalived.org/software/keepalived-2.2.2.tar.gztar  xf   keepalived-2.2.2.tar.gzcd   keepalived-2.2.2/./configure --prefix=/usr/local/keepalivedmake   &&  make  install#編譯好后起不來沒有配置文件/etc/keepalived/keepalived.confmkdir    /etc/keepalivedcp /usr/local/keepalived/etc/keepalived/keepalived.conf  /etc/keepalived/keepalived.confsed  -i   's/eth0/ens33/' /etc/keepalived/keepalived.confsystemctl start keepalivedsystemctl status keepalived

6.4 Ubuntu-編譯安裝

ubuntu盡可能安裝比較新的keepalive安裝包

cd /optapt update && apt -y install make gcc ipvsadm build-essential pkg-config automake autoconf libipset-dev libnl-3-dev libnl-genl-3-dev libssl-dev libxtables-dev libip4tc-dev libip6tc-dev libmagic-dev libsnmp-dev libglib2.0-dev libpcre2-dev libnftnl-dev libmnl-dev libsystemd-devhttps://keepalived.org/download.html
# 官網下載安裝包wget https://keepalived.org/software/keepalived-2.3.3.tar.gztar  xf   keepalived-2.3.3.tar.gzcd   keepalived-2.3.3/./configure --prefix=/usr/local/keepalivedmake  -j2 &&  make  installmkdir    /etc/keepalivedcp /usr/local/keepalived/etc/keepalived/keepalived.conf.sample  /etc/keepalived/keepalived.confvim /etc/keepalived/keepalived.conf#interface ent0改為
interface ens33systemctl start keepalivedsystemctl status keepalived

七.?keepalived的相關文件

  • 軟件包名:keepalived

  • 主程序文件:/usr/sbin/keepalived

  • 主配置文件:/etc/keepalived/keepalived.conf

7.1?配置組成

7.1.1 全局配置

global_defs {notification_email {root@localhost#keepalived 發生故障切換時郵件發送的目標郵箱,可以按行區分寫多個root@localhost360601212@qq.com 
}notification_email_from keepalived@localhost ?#發郵件的地址smtp_server 127.0.0.1 ? ? 
#郵件服務器地址smtp_connect_timeout 30 ? 
#郵件服務器連接timeoutrouter_id   LVS01
#每個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_mcast_group4 225.0.0.18
#指定組播IP地址范圍:224.0.0.0到239.255.255.255,默認值:224.0.0.18 vrrp_iptables ? ? ? ?
#此項和vrrp_strict同時開啟時,則不會添加防火墻規則,如果無配置vrrp_strict項,則無需啟用此項配置
}

7.1.2?配置虛擬路由器

vrrp_instance <STRING> {
#<String>為vrrp的實例名,一般為業務名稱配置參數......}#配置參數:
state MASTER|BACKUP
#當前節點在此虛擬路由器上的初始狀態,狀態為MASTER或者BACKUPinterface IFACE_NAME 
#綁定為當前虛擬路由器使用的物理接口,如:eth0,bond0,br0,可以和VIP不在一個網卡virtual_router_id VRID 
#每個虛擬路由器惟一標識,范圍:0-255,每個虛擬路由器此值必須唯一,否則服務無法啟動,同屬一個虛擬路由器的多個keepalived節點必須相同,務必要確認在同一網絡中此值必須唯一priority 100 
#當前物理節點在此虛擬路由器的優先級,范圍:1-254,值越大優先級越高,每個keepalived主機節點此值不同advert_int 1
#vrrp通告的時間間隔,默認1sauthentication { 
#認證機制auth_type AH|PASS ? 
#AH為IPSEC認證(不推薦),PASS為簡單密碼(建議使用)auth_pass <PASSWORD> 
#預共享密鑰,僅前8位有效,同一個虛擬路由器的多個keepalived節點必須一樣
}include    /etc/keealived/conf.d/*.conf
virtual_ipaddress { 
#虛擬IP,生產環境可能指定上百個IP地址<IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>
192.168.200.100 
#指定VIP,不指定網卡,默認為,注意:不指定/prefix,默認為/32192.168.200.101/24 dev eth1 ? 
#指定VIP的網卡,建議和interface指令指定的崗卡不在一個網卡192.168.200.102/24 dev eth2 label eth2:1 
#指定VIP的網卡label   ifconfig eth2:1   192.168.200.102/24
}track_interface { 
#配置監控網絡接口,一旦出現故障,則轉為FAULT狀態實現地址轉移
eth0
eth1…
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/905564.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905564.shtml
英文地址,請注明出處:http://en.pswp.cn/news/905564.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ZTE 7551N 中興小鮮60 遠航60 努比亞小牛 解鎖BL 刷機包 刷root 展訊 T760 bl

ZTE 7551N 中興小鮮60 遠航60 努比亞小牛 解鎖BL 刷機包 刷root 3款機型是一個型號&#xff0c;包通用&#xff0c; ro.product.system.modelZTE 7551N ro.product.system.nameCN_P720S15 #################################### # from generate-common-build-props # Th…

單片機-STM32部分:12、I2C

飛書文檔https://x509p6c8to.feishu.cn/wiki/MsB7wLebki07eUkAZ1ec12W3nsh 一、簡介 IIC協議&#xff0c;又稱I2C協議&#xff0c;是由PHILP公司在80年代開發的兩線式串行總線&#xff0c;用于連接微控制器及其外圍設備&#xff0c;IIC屬于半雙工同步通信方式。 IIC是一種同步…

Virtualized Table 虛擬化表格 el-table-v2 表頭分組 多級表頭的簡單示例

注意添加這個屬性,會影響到有多少個層級的表頭: :header-height“[50, 40]”,即后面的columnIndex 如果有fix的列CustomizedHeader會被調用多次,如果有多個層級的表頭,也會被調用多次, 實際被調用次數是(fix數 1 * 表頭層級數量) 以下代碼均刪除了JSX TS版本代碼 <templ…

防御保護-----第十二章:VPN概述

文章目錄 第二部分&#xff0c;數據安全第十二章&#xff1a;VPN概述VPN概述VPN分類VPN關鍵技術隧道技術身份認證技術加解密技術數據認證技術 數據的安全傳輸密碼學發展史 對稱加密算法 --- 傳統密碼算法密鑰解釋流加密分組加密 --- 塊加密算法填充算法PKCS7算法分組模式 公鑰密…

前端項目打包部署流程j

1.打包前端項目(運行build這個文件) 2.打包完成后&#xff0c;控制臺如下所示:(沒有報錯即代表成功) 3.左側出現dist文件夾 4.準備好我們下載的nginx(可以到官網下載一個),然后在一個沒有中文路徑下的文件夾里面解壓。 5.在繼承終端內打開我們的項目&#xff0c;找到前面打包好…

Go語言標識符

文章目錄 標識符的組成規則Go語言關鍵字預定義標識符標識符命名慣例 特殊標識符標識符訪問權限控制 在Go語言中&#xff0c;標識符(Identifier)是用來命名變量、函數、類型、常量等程序實體的名稱。 標識符的組成規則 1、必須以字母或下劃線(_)開頭&#xff1a; 字母包括Unico…

CST軟件對OPERACST軟件聯合仿真汽車無線充電站對人體的影響

上海又收緊了新能源車的免費上牌政策。所以年前一些伙伴和我探討過買新能源汽車的問題&#xff0c;小伙伴們基本糾結的點是買插電還是純電&#xff1f;我個人是很抗拒新能源車的&#xff0c;也開過坐過。個人有幾個觀點&#xff1a; 溢價過高&#xff0c;不保值。實際并不環保…

吳恩達機器學習筆記:多變量梯度下降

1.多維特征 之前我們探討了單變量/特征的回歸模型&#xff0c;現在我們對房價模型增加更多的特征&#xff0c;例如房間數樓層等&#xff0c;構成一個含有多個變量的模型&#xff0c;模型中的特征為 &#xff08; x 1 &#xff0c; x 2 &#xff0c; x 3... x n &#xff09; &…

【Linux Nano Vim快捷鍵大全】

Nano 快捷鍵大全 常用高頻操作 功能描述快捷鍵組合替代按鍵/備注使用頻率顯示幫助CtrlGF1高保存文件CtrlOF3高退出編輯器CtrlXF2高剪切當前行CtrlKF9高粘貼內容CtrlUF10高搜索文本CtrlWF6高替換文本Ctrl\AltR高撤銷操作AltU無中重做操作AltE無中跳轉到行號Ctrl_AltG中插入文件…

uniapp vue 沉浸式窗體如何獲取并排除外部手機瀏覽器底部菜單欄工具欄高度

這個問題可以簡稱為&#xff1a;uniapp vue 獲取可視窗口高度 第一種方案&#xff0c;只改變css樣式 /* 不考慮瀏覽器UI的最小視口高度 */ .element {height: 100svh; /* small viewport height */ }/* 考慮瀏覽器UI變化的動態視口高度 */ .element {height: 100dvh; /* dyna…

React Native告別圖標體積大手動更換慢的噩夢:讓圖標更新像修改文字一樣簡單

寫在前面:凌晨三點的圖標戰爭 “所有圖標都要換成圓角風格,明天上線!”——產品經理這條消息彈出時,我的保溫杯差點從手中滑落。掃了一眼項目中的347個圖標文件,我知道今晚又是個不眠夜。但就在絕望之際,同事發來一個GIF:他只是在終端輸入了iconfont-rn --update,所有…

自然語言處理與BI融合實戰:ChatBI動態語義解析技術架構剖析

在數字經濟時代&#xff0c;數據已成為企業核心競爭力的關鍵要素。如何高效挖掘數據價值、實現智能化決策&#xff0c;成為企業數字化轉型的核心命題。傳統商業智能&#xff08;BI&#xff09;工具雖具備強大的數據處理能力&#xff0c;但其技術門檻高、交互方式復雜等局限性日…

鴻蒙OSUniApp開發支持多語言的國際化組件#三方框架 #Uniapp

使用UniApp開發支持多語言的國際化組件 在全球化的今天&#xff0c;一個優秀的應用往往需要支持多種語言以滿足不同地區用戶的需求。本文將詳細講解如何在UniApp框架中實現一套完整的國際化解決方案&#xff0c;從而輕松實現多語言切換功能。 前言 去年接手了一個面向國際市場…

SpringBoot的外部化配置

一、什么是外部化配置 外部化配置是指把應用程序中各種可配置的參數、屬性等信息&#xff0c;從代碼內部提取出來&#xff0c;放置在外部的配置文件、數據庫或配置中心等地方&#xff08;比如使用.properties、.yml 或.xml 等格式的文件&#xff09;進行管理。提高應用程序的可…

SQL中聯表的運用

當出現要大量數據去查詢時&#xff0c;不要一個個去SQL查詢&#xff0c;應該要批量的去查詢。 def batch_cavity_query(self, fuseids): “”“批量查詢cavity信息”“” if not fuseids: return {} # 創建臨時表批量查詢 try:# 創建臨時表self.cursor.execute("CREATE …

React面試常問問題詳解

以下是30個React面試中常見的問題及簡要解析&#xff0c;涵蓋基礎概念、核心原理、性能優化、Hooks、狀態管理等方面&#xff0c;適用于初中高級開發者準備面試時參考&#xff1a; 一、React 基礎與核心概念 React 是什么&#xff1f; React 是由 Facebook 開發的用于構建用戶界…

【vite好用的配置】自動導入組件、vue中的hook、路徑解析、打包配置、本地運行反向代理配置

前言 之前出了一篇自己搭建 后臺管理系統的文章&#xff0c;今天順便把vite配置&#xff0c;涉及到的一些給大家分享吧。 按需食用哈。 文章目錄 前言一、 自動導入vue中的hook、ref等1. 安裝插件2. 配置 Vite&#xff08;vite.config.ts 或 vite.config.js&#xff09;1&…

思科(Cisco ASA/Firepower)、華三(H3C)、華為(Huawei USG)防火墻 的基礎配置

以下是針對 思科&#xff08;Cisco ASA/Firepower&#xff09;、華三&#xff08;H3C&#xff09;、華為&#xff08;Huawei USG&#xff09;防火墻 的基礎配置指南&#xff0c;涵蓋 區域劃分、安全策略、NAT、路由 等核心功能。配置示例基于通用場景&#xff0c;實際部署時需根…

mac latex vscode 配置

mac latex vscode 配置 安裝mactex.pkg 這里有個快速下載的鏡像 https://mirrors.aliyun.com/CTAN/systems/mac/mactex/ 可以檢查是否將 PATH 寫入 export PATH"/Library/TeX/texbin:$PATH"vscode 下載插件 Latex Workshop 在配置文件 settings.json 中輸入如下的…

AI日報 · 2025年5月14日|Android 生態大型更新與多端 Gemini 集成

1、Google “Android?Show:?I/O?Edition” 匯總&#xff1a;設計、安全、Gemini 三線并進 北京時間 5?月?14?日凌晨&#xff08;原文標注 5?月?13?日 PDT&#xff09;&#xff0c;Google 在 I/O 前夕舉辦的 Android?Show 一口氣公布四大方向更新&#xff1a;① Mater…