lvs-keepalived高可用群集

目錄

1.Keepalived 概述及安裝

1.1 Keepalived 的熱備方式

?1.2 keepalived的安裝與服務控制

(1)安裝keep alived

(2)控制 Keepalived 服務DNF 安裝 keepalived 后,執行以下命令將keepalived 服務設置為開機啟動。

2.使用 Keepalived 實現雙機熱備

1. 主服務器的配置Keepalived 服務的配置目錄位于/etc/keepalived/。其中,keepalived.conf 是主配置文件。另外包括一個子目錄 samples/,提供了許多配置樣例作為參考。

2. 備用服務器的配置在同一個 Keepalived 熱備組內,所有服務器的Keepalived 配置文件基本相同,包括虛擬路由器的ID號、認證信息、漂移地址、心跳頻率等。不同之處主要在于路由器名稱、熱備狀態、優先級。

3. 測試雙機熱備功能1.Keepalived 的日志消息保存在/var/log/messages 文件中,在測試主、備故障自動切換功能時,可以跟蹤此日志文件來觀察熱備狀態的變化。以針對連通性和Web 服務的測試為例,主要操作如下。

(2)Web 訪問測試在keepalived運行的主機上啟動nginx服務并寫入不通的測試頁面內容

(3)看日志記錄在執行主、備服務器故障切換的過程中,分別觀察各自的/var/log/messages 日志文件,可以看到 MASTER、SLAVE 狀態的遷移記錄。

(1 )主服務器中,Keepalived 服務狀態先變為“stop”,移除VIP地址,恢復后重新變為 MASTER。

(2)備用服務器中,狀態先切換為MASTER,待主服務器恢復后再交回控制權。

二 使用keepalived 是實現雙機熱備

1.基礎環境配置、

2.配置主調度器

(1)全局配置 熱備配置

(2)Web 服務器池配置

3.配置從調度器

4. 配置 Web 節點服務器

5. 測試 LVS+Keepalived 高可用群集


一 keepalived概述及安裝

Keepalived 起初是專門針對 LVS 設計的一款強大的輔助工具,主要用來提供故障切換(Failover)和健康檢查(Health Checking)功能-一判斷 LVS 負載調度器、節點服務器的可用性,當master 主機出現故障及時切換到 backup節點保證業務正常,當 master 故障主機恢復后將其重新加入群集并且業務重新切換回 master 節點。

1.Keepalived 概述及安裝

Keepalived 的官方網站位于http://www.keepalived.org/,本章將以 YUM方式講解Keepalived 的安裝、配置和使用過程。在非 LVS 群集環境中使用時,Keepalived 也可以作為熱備軟件使用。

1.1 Keepalived 的熱備方式

Keepalived 采用 VRRP(Virtual Router Redundancy Protocol,虛擬路由冗余協議)熱備份協議,以軟件的方式實現 Linux 服務器的多機熱備功能。VRRP是針對路由器的一種備份解決方案 -- 由多臺路由器組成一個熱備組,通過共用的虛擬 IP地址對外提供服務;每個熱備組內同一時刻只有一臺主路由器提供服務,其他路由器處于冗余狀態。若當前在線 的路由器失效,則其他路由器會自動接替(優先級決定接替順序)虛擬 IP地址,以繼續提供服務,如圖3.1所示。

? ?熱備組內的每臺路由器都可能成為主路由器,虛擬路由器的IP 地址(VIP)可以在熱備組內的路由器之間進行轉移,所以也稱為漂移 IP地址。使用Keepalived 時,漂移地址的實現不需要手動建立虛接口配置文件(如 ens33:0),而是由Keepalived 根據配置文件自動管理。

?1.2 keepalived的安裝與服務控制

(1)安裝keep alived

在 OpenEuler24 系統中,使用 DNF 方 式安裝 keepalived.x86_642.2.8-1.oe2403sp1,會自動安裝Keepalived 所需的軟件包。除此之外,在 LVS群集環境中應用時,也需要用到ipvsadm 管理工具。

[root@localhost ~]# yum install -y keepalived ipvsadm nginx

(2)控制 Keepalived 服務
DNF 安裝 keepalived 后,執行以下命令將keepalived 服務設置為開機啟動。

[root@localhost ]# systemctl enable keepalivedCreated                            symlink                from/etc/systemd/system/multi-user. target. wants/keepalived. serviceto /usr/lib/systemd/system/keepalived. service.

2.使用 Keepalived 實現雙機熱備

基于 VRRP 的熱備方式,Keepalived 可以用作服務器的故障切換,每個熱備組可以有 多臺服務器 -- 當然,最常用的就是雙機熱備了。在這種雙機熱備方案中,故障切換主要針對虛擬 IP地址的漂移來實現,因此能夠適用于各種應用服務器(不管是Web、FTP、Mail,還是 SSH、DNS …… )。本小節將通過一個簡單的案例來說明 Keepalived 雙機熱備的配置方法。其中,主、備服務器的 IP 地址分別為 192.168.10.101 和 192.168.10.102,基于漂移地址192.168.10.100 提供 Web 服務,如圖3.2 所示。

?

主、備服務器中都需要安裝Keepalived,使用 YUM 方式安裝 httpd 提供Web 服務。下面僅講解與Keepalived 相關的配置及測試過程。

1. 主服務器的配置
Keepalived 服務的配置目錄位于/etc/keepalived/。其中,keepalived.conf 是主配置文件。另外包括一個子目錄 samples/,提供了許多配置樣例作為參考。

?在Keepalived 的配置文件中,使用“global_defs{…}”區段指定全局參數,使用“vrrp_instance 實例名稱{…}”區段指定VRRP 熱備參數,注釋文字以“!”符號開頭

[root@localhost ]# systemctl stop firewalld[root@localhost ]# setenforce 0[root@localhost ~]# cd /etc/keepalived/[root@localhost keepalived]# cp keepalived. conf. sample keepalived. conf[root@localhost keepalived]# vim keepalived. confglobal_defs {router_id HA_TEST_R1vrrp_instance VI_1 {state MASTERinterface ens160virtual_router_id 1priority 100advert_int 1authentication {auth_type PASSauth_pass 123456}
virtual_ipaddress {192. 168. 10.100}
}

解釋代碼

router_id HA_TEST_R1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 服務器名稱
vrrp_instance VI_1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?定義vrrp熱備
state MASTER? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 熱備狀態 master主服務器
interface ens160? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VIP地址物理接口
virtual_router_id 1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?虛擬路由id號
priority 100? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?優先級 數值越大 優先級越高
advert_int 1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?心跳頻率 間隔數
authentication? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?認證信息

auth_type PASS? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?認證類型

auth_pass123456? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 密碼字符串

virtual_ipaddress? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?指定漂移地址可以有多個

確認上述配置無誤,然后啟動 Keepalived 服務。實際狀態為 MASTER 的主服務器將為 ens33 接口自動添加 VIP 地址,通過 ip 命令可以查看。

[root@localhost keepalived]# systemctl start keepalived[root@localhost keepalived]# ip a2: ens33: <BROADCAST, MULTICAST, UP, LOWER_UP> mtu 1500 qdisc pfifo_faststate UP qlen 1000 link/ether 00:0c:29:93:80:fb brd ff:ff:ff:ff:ff:ffinet 192. 168. 10. 101/24 brd 172. 16. 16. 255 scope global ens33valid_lft forever preferred_lft foreverinet 192.168.10.100/32 scope global ens33//自動設置的 VIP 地址valid_lft forever preferred_lft foreverinet6 fe80 :: 56be:f27:2b9b:823e/64 scope linkvalid_lft forever preferred_lft forever

2. 備用服務器的配置
在同一個 Keepalived 熱備組內,所有服務器的Keepalived 配置文件基本相同,包括虛擬路由器的ID號、認證信息、漂移地址、心跳頻率等。不同之處主要在于路由器名稱、熱備狀態、優先級。

路由器名稱(router_id):建議為每個參與熱備的服務器指定不同的名稱。
熱備狀態(state):至少應有一臺主服務器,將狀態設為 MASTER;可以有
多臺備用的服務器,將狀態設為 BACKUP。
優先級(priority):數值越大則取得VIP 控制權的優先級越高,因此主
服務器的優先級應設為最高;其他備用服務器的優先級可依次遞減,但不要相同,
以免在爭奪VIP控制權時發生沖突。

配置備用服務器(可以有多臺)時,可以參考主服務器的keepalived.conf配置文件內容,只需修改路由器名稱、熱備狀態、優先級。

root@localhost ]# systemctl stop firewalld [root@localhost ~]# setenforce 0[root@localhost ]# cd /etc/keepalived/[root@localhost keepalived]# cp keepalived. conf. sample keepalived. conf[root@localhost keepalived]# vim keepalived. confglobal_defsrouter_id HA_TEST_R2
}vrrp instance VI_1 {state BACKUPpriority 99

解釋代碼:

router_id HA_TEST_R2? ? ? ? ? ? ?路由器名稱
state BACKUP? ? ? ? ? ?熱備狀態 backup 表示備用服務器
priority 99? ? ? ? 優先級 數值應低于主服務器

確認配置無誤,一樣需要啟動Keepalived 服務。此時主服務器仍然在線,VIP 地址實際上仍然由主服務器控制,其他服務器處于備用狀態。因此,在備用服務器中將不會為 ens33接口添加 VIP 地址

[root@localhost keepalived]# systemctl start keepalived[root@localhost keepalived]# ip addr show dev ens1602: ens33: <BROADCAST, MULTICAST, UP, LOWER_UP> mtu 1500 qdisc pfifo_faststate UP qlen 1000 link/ether 00:0c:29:d1:f0:b5 brd ff:ff:ff:ff:ff:ffinet 192. 168. 10. 102/24 brd 172. 16. 16. 255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80 :: 1f08:ab66:736f:72eb/64 scope linkvalid lft forever preferred_lft forever

3. 測試雙機熱備功能
1.Keepalived 的日志消息保存在/var/log/messages 文件中,在測試主、備故障自動切換功能時,可以跟蹤此日志文件來觀察熱備狀態的變化。以針對連通性和Web 服務的測試為例,主要操作如下。

(1)連通性測試
在客戶機中執行“ping-t 192.168.10.100”命令,能夠正常、持續ping通,根據以下操作繼續觀察測試結果。
(1)停止啟用主服務器的 Keepalived 服務,發現 ping測試只中斷了1或2個包即恢復正常,說明已有其他服務器接替 VIP地址,并及時響應客戶機請求。

(2)重新啟用主服務器的 Keepalived 服務,發現 ping 測試再次中斷1或2個包即恢復正常,說明主服務器已恢復正常,并奪回VIP地址的控制權。

(2)Web 訪問測試
在keepalived運行的主機上啟動nginx服務并寫入不通的測試頁面內容

Keepalived01

[root@localhost ~]# systemctl start nginx[root@localhost ]# echo "web01" >/usr/share/nginx/html/index. html

keepalived02

[root@localhost ]# systemctl start nginx[root@localhost ]# echo "web02" >/usr/share/nginx/html/index. html

在客戶機中訪問 http://192.168.10.100/,將看到由主服務器 192.168.10.101提供的網頁文檔。

(1 )停止啟用主服務器的 Keepalived 服務,再次訪問上述Web 服務,將看到由備用服務器 192.168.10.102 提供的網頁文檔,說明VIP地址已切換至備用服務器。
(2 )重新啟用主服務器的 Keepalived 服務,再次訪問上述 Web 服務,將看到重新由主服務器 192.168.10.101 提供的網頁文檔,說明主服務器已

(3)看日志記錄
在執行主、備服務器故障切換的過程中,分別觀察各自的/var/log/messages 日志文件,可以看到 MASTER、SLAVE 狀態的遷移記錄。

(1 )主服務器中,Keepalived 服務狀態先變為“stop”,移除VIP地址,恢復后重新變為 MASTER。

?
[root@localhost ~]# less /var/log/messages?

(2)備用服務器中,狀態先切換為MASTER,待主服務器恢復后再交回控制權。

[root@localhost ~]# less /var/log/messages

二 使用keepalived 是實現雙機熱備

Keepalived 的設計目標是構建高可用的 LVS 負載均衡群集,可以調用ipvsadm 工具來創建虛擬服務器、管理服務器池,而不僅僅用作雙機熱備。使用Keepalived 構建 LVS 群集更加簡便易用,主要優勢體現在:對 LVS 負載調度器實現熱備切換,提高可用性;對服務器池中的節點進行健康檢查,自動移除失效節點,恢復后再重新加入。

在基于 LVS+Keepalived 實現的 LVS 群集結構中,至少包括兩臺熱備的負載調度器,三臺以上的節點服務器。本節將以DR 模式的LVS 群集為基礎,增加一臺從負載調度器,使用Keepalived 來實現主、從調度器的熱備,從而構建兼有負載均衡、高可用兩種能力的LVS網站群集平臺,如圖3.3 所示。

?使用 Keepalived 構建 LVS 群集時,也需要用到ipvsadm 管理工具。但大部分工作會由Keepalived 自動完成,不需要手動執行 ipvsadm(除了查看和監控群集以外)。下面主要講解Keepalived 的服務器池設置,關于 NFS 共享服務的配置、Keepalived 的熱備配置等在此不再詳細闡述。

1.基礎環境配置、

關閉linux 內核防火墻

setenforce 0systemct stop firewalld

安裝服務器keepalived模板并配置文件

dnf -y install keepalived
cd /etc/keepalived/
ls
cp /etc/keepalived/keepalived.conf

2.配置主調度器

配置主調度器步驟:

(1)全局配置 熱備配置

首先為主、從調度器實現熱備功能,漂移地址使用LVS 群集的 VIP 地址。

vim keepalivedd.cofglobal_defs {router_id LVS_HA_R1
}
vrrp_instance VI_1 {virtual_router_id 1state MASTER
interface ens33priority 100advert_int 1authentication {auth_type PASSauth_pass 123456
}virtual ipaddress {192.168.10.100}}

解釋代碼:

router_id LVS_HA_R1? ? ?主調度器名稱
state MASTER? ? ? ? ?主調度器 熱備狀態
priority 100? ? ? ? 主調度器 優先級
authentication {? ? ? ? 主 從熱備認證信息
virtual ipaddress? ? ? 指定群集VIP地址

(2)Web 服務器池配置

在 Keepalieved 的熱備配置基礎上添加“virtual_server VIP 端口{ ... }”區段來 配置虛擬服務器,主要包括對負載調度算法、群集工作模式、健康檢查間隔、真實服務器地址等參數的設置。

[root@localhost ]# vi /etc/keepalived/keepalived. confvirtual_server 192. 168. 10. 100 80 {delay_loop 151b_algo rrlb_kind DR! persistence 60protocol TCPreal server 192. 168. 10. 103 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4
}
}
real_server 192.168.10.104 80 {}
}

解釋代碼:

virtual_server 192. 168. 10. 100 80? ? 虛擬服務器地址 端口
delay_loop 15? ? 健康檢查間隔時間
1b_algo rr? ? ? ?輪詢調度算法
lb_kind DR? 直接路由群集模式
! persistence 60? ?連接保持時間
protocol TCP? 應用服務采用 TCP協議
real server 192. 168. 10. 103 80 {? ? 第一個web節點地址
weight 1? ?節點的權重
TCP_CHECK {? ? 健康檢查方式
connect_port 80? ?檢查的目標端口
connect_timeout 3? 連接超時
nb_get_retry 3? 重試次數
delay_before_retry 4? 重試間隔

(3)重新啟動keepaalived服務

systemcctl restart keepalived

3.配置從調度器

從調度器的配置與主調度器基本相同,也包括全局配置、熱備配置、服務器池配置,只需要調整router_id、state、priority 參數即可,其余內容完全相同。配置完成以后重啟Keepalived 服務。

[root@localhost ~]# vi /etc/keepalived/keepalived. confglobal_defs {router_id LVS_HA_R2vrrp_instance VI_1 {state BACKUPpriority 90virtual_server 192. 168. 10. 100 80 {

解釋代碼:

router_id LVS_HA_R2? ??從調度器的名稱
state BACKUP? ?從調度器的熱備狀態
priority 90? ?從調度器的優先級
systemctl restart keepalived

4. 配置 Web 節點服務器

根據所選擇的群集工作模式不同(DR或 NAT),節點服務器的配置也有些差異。以DR模式為例,除了需要調整/proc 系統的 ARP 響應參數以外,還需要為虛擬接口 10:0 配置 VIP地址,并添加一條到VIP的本地路由,具體方法請參考第2章。

DR 模式需要節點服務器也配置vip

#!/bin/bash
# 修改為自己的VIPvip='192.168. 207. 200'case "$1" instart)
# 設置ARP 參數
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" > /proc/sys/net/ipv4/conf/all/arp_announceecho "1" > /proc/sys/net/ipv4/conf/default/arp_ignoreecho "2" > /proc/sys/net/ipv4/conf/default/arp_announceecho "1" > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" > /proc/sys/net/ipv4/conf/lo/arp_announce#臨時添加 VIP(重啟失效)
sudo ip addr add $ {vip}/32 dev lo label lo:0# 臨時添加路由(重啟失效)
sudo ip route add local $ {vip}/32 dev lo# 永久生效(通過 rc.local 或 NetworkManager 腳本)
echo "ip addr add $ {vip}/32 dev lo label lo:0" | sudo tee/etc/rc. localecho "ip route add local $ {vip} /32 dev lo" | sudo tee -a /etc/rc. locasudo chmod +x /etc/rc. localstop)
#恢復 ARP 參數
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignoreecho "0" > /proc/sys/net/ipv4/conf/all/arp_announceecho "0" > /proc/sys/net/ipv4/conf/default/arp_ignoreecho "0" > /proc/sys/net/ipv4/conf/default/arp_announceecho "0" > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho "0" > /proc/sys/net/ipv4/conf/lo/arp_announce#移除臨時添加的 VIP
sudo ip addr del $ {vip}/32 dev lo label lo:0# 移除臨時添加的路由
sudo ip route del local ${vip}/32 dev lo#從 rc.local 中移除永久設置
sudo sed -i "/ip addr add ${vip}\/32 dev lo label lo:0/d"/etc/rc. localsudo sed -i "/ip route add local $ {vip} \/32 dev lo/d" /etc/rc.local
;;*echo "Usage: $0 {start|stop}"exit 1esacexit 0

5. 測試 LVS+Keepalived 高可用群集

在客戶機的瀏覽器中,能夠通過 LVS+Keepalived 群集的 VIP 地址(192.168.10.100)正 常訪問 Web 頁面內容。當主、從調度器任何一個失效時,Web 站點仍然可以訪問(可能需要 刷新或者重新打開瀏覽器);只要服務器池有兩臺及以上的真實服務器可用,就可以實現訪問量的負載均衡。通過主、從調度器的/var/log/messages 日志文件,可以跟蹤故障切換過程;若要查看負載分配情況,可以執行“ipvsadm-1n”“ipvsadm-lnc”等操作命令。最終可以驗證LVS+Keepalived 高可用負載均衡群集的健壯性。

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

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

相關文章

車載診斷架構SOVD --- 車輛發現與建連

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 鈍感力的“鈍”,不是木訥、遲鈍,而是直面困境的韌勁和耐力,是面對外界噪音的通透淡然。 生活中有兩種人,一種人格外在意別人的眼光;另一種人無論…

BUUCTF之[ACTF2020 新生賽]BackupFile

打開環境就一句話 找出源文件! 結合題目名字&#xff1a;BackupFile 先用dirsearct掃描網站文件 發現一個index.php.bak ,拼接url下載 打開發現php代碼 <?php include_once "flag.php";if(isset($_GET[key])) {$key $_GET[key];if(!is_numeric($key)) {exit…

Rag技術----項目博客(六)

RAG 定義&#xff1a;檢索增強生成&#xff08;Retrieval Augmented Generation&#xff09;&#xff0c;簡稱 RAG&#xff0c;已經成為當前最火熱的LLM應用方案。 目的&#xff1a;通過提供相關領域數據庫通過問題檢索信息&#xff0c;將相關信息合并到Prompt中&#xff0c;…

設計模式——外觀設計模式(結構型)

摘要 本文介紹了外觀設計模式&#xff0c;它是一種結構型設計模式&#xff0c;通過引入一個外觀類來封裝復雜子系統的調用細節&#xff0c;對外提供簡單統一的接口。文中通過生活類比、關鍵角色介紹、使用場景分析以及結構說明等方面對這一模式進行了全面闡述&#xff0c;還涉…

LabVIEW磁懸浮軸承傳感器故障識別

針對工業高端裝備中主動磁懸浮軸承&#xff08;AMB&#xff09;的位移傳感器故障檢測需求&#xff0c;基于 LabVIEW 平臺構建了一套高精度故障識別系統。通過集成品牌硬件與 LabVIEW 的信號處理能力&#xff0c;實現了傳感器探頭故障的實時監測與精準定位&#xff0c;解決了傳統…

集成學習三種框架

集成學習通過組合多個弱學習器構建強學習器&#xff0c;常見框架包括Bagging&#xff08;裝袋&#xff09;、Boosting&#xff08;提升&#xff09; 和Stacking&#xff08;堆疊&#xff09; 一、Bagging&#xff08;自助裝袋法&#xff09; 核心思想 從原始數據中通過有放回…

PCI DSS培訓記錄

22日上午: 整體PCI DSS 結構分享VISA分享全球欺詐風險動態 信用卡被偷枚舉攻擊依然是最為主要的安全威脅之一(枚舉驗證碼),增加3DS驗證防護勒索軟件和信息泄漏攻擊欺詐分子對AI技術的興趣日益增加,如換臉軟件過驗證基于NFC技術利用非接交易進行欺詐成為新的攻擊手段,如NF…

數據安全中心是什么?如何做好數據安全管理?

目錄 一、數據安全中心是什么 &#xff08;一&#xff09;數據安全中心的定義 &#xff08;二&#xff09;數據安全中心的功能 1. 數據分類分級 2. 訪問控制 3. 數據加密 4. 安全審計 5. 威脅檢測與響應 二、數據安全管理的重要性 三、如何借助數據安全中心做好數據安…

黑馬Java面試筆記之 微服務篇(業務)

一. 限流 你們項目中有沒有做過限流?怎么做的? 為什么要限流呢? 一是并發的確大(突發流量) 二是防止用戶惡意刷接口 限流的實現方式: Tomcat:可以設置最大連接數 可以通過maxThreads設置最大Tomcat連接數,實現限流,但是適用于單體架構 Nginx:漏桶算法網關,令牌桶算法自定…

PostgreSQL的擴展 passwordcheck

PostgreSQL的擴展 passwordcheck passwordcheck 是 PostgreSQL 內置的一個密碼復雜度檢查擴展&#xff0c;用于強制實施基本的密碼策略。 一、擴展概述 功能&#xff1a;在創建或修改用戶密碼時檢查密碼復雜度目的&#xff1a;防止使用過于簡單的密碼適用版本&#xff1a;Po…

Go語言學習-->編譯器安裝

Go語言學習–&#xff1e;編譯器安裝 Go采用的是UTF-8編碼的文本文件存放源代碼&#xff0c;理論上使用任何一款文本編輯器都可以做Go語言開發。這里推薦使用VS Code和Goland。 VS Code是微軟開源的編輯器&#xff0c;而Goland是jetbrains出品的付費IDE。我們這里使用VS Code …

基于Android的一周穿搭APP的設計與實現 _springboot+vue

開發語言&#xff1a;Java框架&#xff1a;springboot AndroidJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7數據庫工具&#xff1a;Navicat12開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.6 系統展示 APP登錄 A…

井字棋——ai PK you

挑戰人工智能&#xff0c;體驗經典井字棋的對決&#xff01;AI 擁有強大的邏輯計算能力&#xff0c;每一步都經過精準推演。你能戰勝它嗎&#xff1f;還是會被 AI 徹底碾壓&#xff1f; 特點&#xff1a; 智能 AI&#xff0c;難度可調 極簡界面&#xff0c;快速上手 實時勝負…

關于easyx頭文件

一、窗口創建 &#xff08;1&#xff09;幾種創建方式 #include<easyx.h>//easyx的頭文件 #include<iostream> using namespace std;int main() {//創建一個500*500的窗口//參數為&#xff1a;長度&#xff0c;寬度&#xff0c;是否顯示黑框&#xff08;無參為不…

【學習記錄】Django Channels + WebSocket 異步推流開發常用命令匯總

文章目錄 &#x1f4cc; 摘要&#x1f9f0; 虛擬環境管理? 創建虛擬環境? 刪除虛擬環境? 激活/切換虛擬環境 &#x1f6e0;? Django 項目管理? 查看 Django 版本? 創建 Django 項目? 創建 Django App &#x1f4ac; Channels 常用操作? 查看 Channels 版本 &#x1f50…

Java線程狀態及其流轉

在Java編程中&#xff0c;線程是一種重要的并發實體。為了更好地理解和管理多線程應用程序&#xff0c;我們需要清楚線程的不同狀態及其流轉機制。本文將詳細介紹Java中線程的幾種主要狀態以及它們之間的轉換關系。 一、線程狀態概述 Java線程的生命周期有多個狀態&#xff0…

LabVIEW雙光子顯微鏡開發

基于LabVIEW 開發高性能雙光子顯微鏡系統&#xff0c;聚焦于生物樣本深層成像與納米材料三維表征。實現了超快激光控制、多維數據采集與實時圖像重建。系統采用飛秒激光光源與高精度振鏡掃描模塊&#xff0c;結合 LabVIEW 的 FPGA 實時控制能力&#xff0c;可對活體組織、熒光納…

數據庫操作-MySQL-4(JDBC編程)

JDBC&#xff1a;通過Java代碼操作mysql數據庫&#xff0c;數據庫會提供一些API供我們調用 MySQL、Oracle、等API有差異&#xff0c;但是Java統一了所有接口&#xff0c;即JDBC&#xff1b; 原始api-驅動包&#xff08;類似轉接頭&#xff09;-統一的api-Java 驅動包&#xff1…

windows修改躍點數調整網絡優先級

Windows有兩個網卡&#xff0c;一個有線網卡&#xff0c;一個無線網卡&#xff0c;通過修改躍點數來調整優先使用的網卡&#xff0c;這種只是眾多設置方式中的其中一種設置方式 文檔編寫時間&#xff1a;2025年6月 1.打開電腦的網絡連接 cmd--ncpa.cpl 在cmd中運行ncpa.cpl可…

實驗設計與分析(第6版,Montgomery著,傅玨生譯) 第10章擬合回歸模型10.9節思考題10.1 R語言解題

本文是實驗設計與分析&#xff08;第6版&#xff0c;Montgomery著&#xff0c;傅玨生譯) 第10章擬合回歸模型10.9節思考題10.1 R語言解題。主要涉及線性回歸、回歸的顯著性、回歸系數的置信區間。 vial <- seq(1, 10, 1) Viscosity <- c(160,171,175,182,184,181,188,19…