阿里云ACP云計算備考筆記 (5)——彈性伸縮

目錄

第一章 概述

第二章 彈性伸縮簡介

1、彈性伸縮

2、垂直伸縮

3、優勢

4、應用場景

① 無規律的業務量波動

② 有規律的業務量波動

③ 無明顯業務量波動

④ 混合型業務

⑤ 消息通知

⑥ 生命周期掛鉤

⑦ 自定義方式

⑧ 滾的升級

5、使用限制

第三章 主要定義

1、工作原理

2、基礎概念

① 伸縮組

② 彈性容器實例ECI

③ 穩定實例

④ SLB負載均衡實例

⑤ 伸縮模式

⑥ 實例配置信息來源

⑦ 伸縮配置

⑧ 伸縮規則

⑨ 自動觸發任務

3、常見活動

① 伸縮活動

② 期望實例數

③ 并行伸縮活動

④ 非并行伸縮任務

4、伸縮組流程

① 伸縮組流程

② 組內實例生命周期

③ 生命周期掛鉤

④ 冷卻時間

第四章 使用流程

1、創建伸縮組

2、創建伸縮配置

3、啟用伸縮組

4、創建伸縮規則

5、創建自動伸縮任務

① 定時任務

② 報警任務

第五章 伸縮組詳解

1、創建伸縮組

2、伸縮組狀態

3、創建伸縮組限制

4、創建步驟

5、刪除伸縮組

① 刪除保護

② 刪除結果

③ 強制刪除

④ 非強制刪除

6、伸縮組內實例狀態

7、自動創建ECS實例

8、手動創建ECS實例

9、查看伸縮組實例列表

10、移除或釋放實例

11、轉為備用狀態

12、轉出備用狀態

13、轉為保護狀態

14、轉為停用狀態

15、手動移出或刪除實例

16、自動移除策略

① 篩選最早伸縮配置對應的實例

② 篩選最早創建的實例

③ 篩選最新創建的實例

④ 無策略

第五章 伸縮配置詳解

1、創建前提

2、創建步驟

3、伸縮配置狀態

第六章 伸縮規則詳解

1、規則類型

① 普通規則

② 步進規則

③ 預測規則

④ 目標追蹤規則

第七章 伸縮模式詳解

1、模式類型

① 固定數量模式

② 健康模式

③ 定時模式

④ 動態模式

⑤ 自定義模式

⑥ 多模式并行

2、健康模式說明

3、定時模式說明

4、動態模式說明

① 系統監控報警任務

② 自定義監控報警任務

③ 報警任務支持監控項

第八章 伸縮活動

1、彈性擴容

2、彈性縮容

3、伸縮活動特點

4、伸縮活動自動創建ECS實例

5、伸縮活動自動移出實例

6、手動添加實例到伸縮組

7、手動移出伸縮組實例

8、并行/非并行伸縮活動

①?并行伸縮活動

②?非并行伸縮活動

9、冷卻時間

第九章 自動化運維


第一章 概述

第二章 彈性伸縮簡介

1、彈性伸縮

? ? ? ? 根據業務實際需求和策略,自動調整計算能力(即實例數量),自動適配當前業務實際的需求,優化成本,也優化系統的穩定性。

2、垂直伸縮

? ? ? ? 不調整實例數量,而是調整實例的規格(vCPU和內存),系統自動完成停止實例,調整實例規格,啟動實例。

3、優勢

4、應用場景

① 無規律的業務量波動

? ? ? ? 利用彈性伸縮的報警任務,阿里云根據實例的運行指標自動彈性伸縮。

????????報警任務支持:CPU、內存、平均負載、內外網出入流量、TCP連接總數。

② 有規律的業務量波動

? ? ? ? 利用彈性伸縮的定時任務,自動定時執行彈性伸縮。

③ 無明顯業務量波動

? ? ? ? 健康檢查模式,確保服務健康。

④ 混合型業務

? ? ? ? 綜合使用所有彈性策略。

⑤ 消息通知

? ? ? ? 伸縮成功、失敗、拒絕之后都可以通知信息,支持消息通知(短信、站內信、郵件)和事件通知(發送至云監控事件或者消息服務(MNS主題和MNS隊列)

⑥ 生命周期掛鉤

? ? ? ? 觸發彈性伸縮的時候,設置掛鉤可以讓實例處于掛起中狀態,可以有一段自定義操作的時間,支持OOS模板

⑦ 自定義方式

????????手動向伸縮組添加或者移除ECS實例。

⑧ 滾的升級

? ? ? ? 通過任務形式批量修改ECS實例,可以為伸縮組內處理服務中的實例批量更換鏡像,執行腳本、安裝OOS軟件包。

5、使用限制

? ? ? ? 部署在ECS實例上的應用必須是無狀態的并且支持橫向擴展

? ? ? ? 伸縮組內的ECS可能會自動釋放,所以不適合保存會話記錄、應用數據、日志等信息。這些信息推薦使用獨立的狀態實例,數據保存到RDS、日志保存到日志服務;

? ? ? ? 不支持自動將實例添加到Memcache實例的訪問白名單,需要手動添加。

? ? ? ? 如果伸縮組關聯的RDS、ALB、CLB、SLB實例的后端服務器被刪除了,伸縮組自動解雇關聯關系。

? ? ? ? 如果伸縮組自動觸發連續失敗30天就不搞了,通知用戶。

第三章 主要定義

1、工作原理

2、基礎概念

① 伸縮組

? ? ? ? 具有相同應用場景,相同實例類型的集合。伸縮組定義了組內可容納的實例數的最大最小值、關聯的負載均衡實例,關聯RDS實例等屬性。

② 彈性容器實例ECI

? ? ? ? 阿里云結合容器和Serverless提供的容器運行服務。

③ 穩定實例

? ? ? ? 特指在伸縮組中處于服務中、保護中、備用中狀態的ECS實例

④ SLB負載均衡實例

? ? ? ? 對流量進行按需分發,流量分發到不同的實例處理,提供系統整體吞吐量。

⑤ 伸縮模式

? ? ? ? 對應不同的增加、減少實例的操作,包含:定時模式、動態模式、固定數量模式、自定義模式、健康模式、多模式并行

⑥ 實例配置信息來源

? ? ? ? 需要指定伸縮的ECS到底要用什么配置來初始化創建ECS,支持伸縮模板和實例啟動模板

⑦ 伸縮配置

? ? ? ? 組內實例的配置信息,在創建實例的時候用到。

⑧ 伸縮規則

? ? ? ? 步進規則、目標追蹤規則、簡單規則用于觸發伸縮時控制增加或者減少實例的具體數量

? ? ? ? 預測規則可以基于歷史變更數據智能規定實例的數量邊界值;

⑨ 自動觸發任務

? ? ? ? 分為定時任務、報警任務觸發;定時任務可以指定該時間擴縮容,報警任務是根據監控到的異常指標決定是否擴縮容。

3、常見活動

① 伸縮活動

? ? ? ? 用于記錄伸縮組內實例數、伸縮組邊界值、期望實例數等數量變化情況執行伸縮規則、修改邊界值、修改期望實例數等操作都會觸發伸縮活動

② 期望實例數

? ? ? ? 開啟期望實例數后,伸縮組會自動將實例的數量維持在期望數,無需人工干預。當然能用的前提是創建伸縮組的時候開啟這個功能,開啟之后可以修改的

③ 并行伸縮活動

? ? ? ? 并且伸縮任務執行的時候可以執行其他并行任務。當以下方式觸發伸縮活動就是并行伸縮活動:

? ? ? ? 手動執行伸縮規則、定時任務執行伸縮規則;

? ? ? ? 手動添加ECS實例,移除ECS實例;

? ? ? ? 期望實例數檢查任務、實例健康檢查任務、最大最小檢查任務;

④ 非并行伸縮任務

? ? ? ? 具有排他性,不開啟期望實例數功能,所有都是非并行伸縮任務

4、伸縮組流程

① 伸縮組流程

? ? ? ? 指的是可以手動暫停、恢復的流程,包括:擴容流程、縮容流程、健康檢查、定時任務、報警任務等用于更精細的控制伸縮組流程級別的動作。

② 組內實例生命周期

? ? ? ? 指ECS在伸縮組內從創建到釋放的過程。如果由伸縮組自動創建就由伸縮組管理,手動創建的ECS實例可以托管給伸縮組,也可以不托管自己管理

③ 生命周期掛鉤

? ? ? ? 伸縮組創建或者釋放實例的收,不立即執行,流出一定時間給自定義操作。

④ 冷卻時間

? ? ? ? 伸縮活動后鎖定一定時間不再被云監控觸發伸縮活動請求,避免頻繁觸發。

第四章 使用流程

? ? ? ? 必須配置并且啟用伸縮組、以及組內實例配置來源。其他組件可以按需配置。

1、創建伸縮組

????????使用彈性伸縮管理業務所用的ECS實例時,伸縮組是基本的管理單元。伸縮組用于管理有相同應用場景的ECS實例,并支持關聯多個負載均衡實例和RDS實例。伸縮組關聯負載均衡實例和RDS實例后,ECS實例加入伸縮組時會自動添加為負載均衡實例的后端服務器,其內網IP會自動加入RDS實例的訪問白名單。

2、創建伸縮配置

????????伸縮配置是彈性伸縮自動創建ECS實例時所使用的實例模板。一個伸縮組支持創建多個伸縮配置,但同一時間只允許一個伸縮配置處于生效狀態。(如果您在創建伸縮組時,選擇啟動模板或者已有實例作為配置信息來源,則不用手動創建伸縮配置,可以直接啟用伸縮組。)

3、啟用伸縮組

????????首次創建伸縮配置后,會自動提示啟用伸縮組。您也可以在伸縮組列表自行啟用伸縮組。

4、創建伸縮規則

????????伸縮規則用于指定擴縮容ECS實例的數量等信息或者智能地設置伸縮組邊界值,您可以根據業務需要創建對應類型的伸縮規則。

5、創建自動伸縮任務

????????創建伸縮規則后,您可以通過自動伸縮任務自動執行伸縮規則,實現自動擴縮容。自動伸縮任務支持以下類型:

① 定時任務

????????如果您可以預測業務量波動的時間,使用定時任務在指定時間自動擴縮容即可。定時任務支持設置重復周期,滿足周期性自動擴縮容的需求。

② 報警任務

????????如果您需要基于ECS實例的運行指標自動擴縮容,可以使用報警任務。報警任務基于云監控的監控項動態管理伸縮組內ECS實例。

第五章 伸縮組詳解

1、創建伸縮組

? ? ? ? 如果彈性伸縮的ECS無法加入RDS或者SLB訪問白名單,自動創建的實例回回滾和釋放,手動創建的實例則會保留下來

? ? ? ? 一個實例只能加入一個伸縮組,并且一定要在同一個地域

2、伸縮組狀態

? ? ? ? 可以看到API中只有三種:

3、創建伸縮組限制

? ? ? ? 同一個地域下,伸縮組的熟練有限制;

? ? ? ? 創建的時候需要執行實例數量的邊界值,最大最小值,也可以指定期望數。

? ? ? ? 如果沒有配置期望數,并且最小值大于0并且實際實例數小于最小值就自動擴容一次;如果配置了期望數,并且期望數大于0并且實際實例數不一致,就自動觸發擴容一次

4、創建步驟

? ? ? ? 登錄控制臺;

? ? ? ? 頂部菜單選擇地域;

? ? ? ? 左側導航欄選擇伸縮組;

? ? ? ? 左上角創建,完成配置后確認;

5、刪除伸縮組

① 刪除保護

? ? ? ? 如果開啟刪除保護,就不可以通過控制臺或者API刪除伸縮組了。

② 刪除結果

? ? ? ? 會同時刪除組內的伸縮配置和伸縮規則。

? ? ? ? 如果有運行中的實例,會先停止實例,然后移出手動創建的實例,釋放所有自動創建的實例

③ 強制刪除

? ? ? ? 先停止伸縮組,拒絕新的伸縮活動,等待已有的伸縮活動完成,移出手動,釋放自動。

④ 非強制刪除

? ? ? ? 當伸縮組沒有任何伸縮活動并且實例為0就可以停止伸縮組,然后刪除伸縮組。

6、伸縮組內實例狀態

? ? ? ? 從加入到移出伸縮組,狀態有:加入中 、加入掛起中、服務中、備用中、保護中、移出中、移出掛起中、停用中

7、自動創建ECS實例

? ? ? ? 配置全部相同

? ? ? ? 如果指定了RDS,系統自動將ECS的IP加入到RDS的訪問白名單

? ? ? ? 如果指定了負載均衡,系統自動將ECS加入負載均衡的后端服務器中

8、手動創建ECS實例

? ? ? ? 實例和伸縮組必須同地域

? ? ? ? 沒有加入其他伸縮組

? ? ? ? 實例必須運行中

? ? ? ? 實例和伸縮組的網絡類型必須一致

? ? ? ? 伸縮組必須啟用狀態

? ? ? ? 伸縮組不存在執行中的伸縮活動

? ? ? ? 如果將手動創建的ECS托管生命周期給伸縮組,移除的時候也會釋放實例,特殊的是支持將包年包月的實例添加,單不能托管

9、查看伸縮組實例列表

? ? ? ? 登錄控制臺;

? ? ? ? 左側菜單欄點擊伸縮組管理;

? ? ? ? 選擇地域;

? ? ? ? 對伸縮組查看詳情;

? ? ? ? 實例列表頁簽;

? ? ? ? 查看ECS實例;

10、移除或釋放實例

? ? ? ? 無論自動或者手動創建的實例,都可以轉為備用狀態、轉入轉出保護狀態。

? ? ? ? 如果是自動創建的實例,并且被檢測出不健康了,會自動釋放實例,并且另起一個健康實例替換

? ? ? ? 如果是手動創建的時候,被檢測沒有運行中就會被判定不健康,自動移除伸縮組,是否釋放根據是否生命周期托管決定,托管了就釋放,沒托管就只是移除而不釋放

11、轉為備用狀態

? ? ? ?如果配置了負載均衡,備用狀態后負載均衡的權重歸0

? ? ? ? 一直保持備用直到移出

? ? ? ? 不再自動管理備用的實例的生命周期,手動維護;

? ? ? ? 伸縮活動的時候,不會移出備用的實例

? ? ? ? 備用的時候停止或者重啟,不會更新健康檢查狀態

? ? ? ? 需要先移出備用狀態ECS才能釋放;

? ? ? ? 如果伸縮組刪除了,備用實例會被移出并且自動解除備用狀態

12、轉出備用狀態

? ? ? ? 實例恢復服務;

? ? ? ? 如果有負載均衡實例,實例會重新加入負載均衡,權重默認50

? ? ? ? ECS實例停止或者重啟,會更新健康檢查狀態;

? ? ? ? 如果發生伸縮活動,實例可以正常被移除;

13、轉為保護狀態

? ? ? ? 如果配置了負載均衡實例,不會影響實例的權重

? ? ? ? 一直保持狀態直到被移出保護狀態;

? ? ? ? 伸縮活動不會移出保護狀態的實例,需要手動移出才能釋放;

? ? ? ? 實例停止或者重啟,不會更新健康檢查狀態;

14、轉為停用狀態

? ? ? ? 不再提供服務,部分資源不再收費;只有EIP和云盤還要繼續收費

15、手動移出或刪除實例

? ? ? ? 伸縮組啟用狀態,并且不存在執行中的伸縮活動,就可以移出或者刪除實例

? ? ? ? 手動操作可以繞過冷卻時間直接執行

? ? ? ? 如果刪除后實例數小于邊界最小值,會失敗

16、自動移除策略

? ? ? ? 支持兩段設置先篩選再從結果中移出,不支持兩段設置相同的選項,如果篩選后還有多個實例則隨機選擇

① 篩選最早伸縮配置對應的實例

????????但是不會先把手動的選出來,只有移除不夠數的時候才用手動的實例

② 篩選最早創建的實例

③ 篩選最新創建的實例

④ 無策略

????????表示不進行第二段篩選。

第五章 伸縮配置詳解

1、創建前提

? ? ? ? 必須先創建伸縮組,如果要使用智能配置,網絡類型必須是VPC。

? ? ? ? 必須創建安全組。

2、創建步驟

? ? ? ? 控制臺-伸縮組管理-選擇地域;

? ? ? ? 選擇伸縮組,打開詳情;

? ? ? ? 點擊 實例配置來源 頁簽;

? ? ? ? 創建伸縮組配置;

? ? ? ? 完成基礎:付費模式(按量,搶占)、配置方式(規格、智能)、鏡像(公共、自定義、公共、社區)、存儲、公網IP、安全組、IPv6;

? ? ? ? 完成系統配置:標簽、資源組、登錄憑證(不支持創建時設置密碼,SSH密鑰對可以)、實例名稱、主機名、RAM角色(僅VPC)、自定義數據(僅VPC)、私有池容量、專有宿主機:

? ? ? ? 填寫伸縮配置名稱;

? ? ? ? 啟用配置;

3、伸縮配置狀態

? ? ? ? Active:生效狀態

? ? ? ? Inactive:失效狀態

? ? ? ? Deleting:刪除中

第六章 伸縮規則詳解

1、規則類型

① 普通規則

? ? ? ? 用于觸發伸縮活動,增加或者減少指定數量的實例,或者將實例調整到指定數量;如果是報警任務觸發的則需要等到冷卻完成之后才能生效了。

② 步進規則

? ? ? ? 基于云監控告警和分段擴縮容,通過一組策略更加精細的控制擴縮容。

③ 預測規則

? ? ? ? 智能設置伸縮組邊界,通過分析至少24小時的活動,通過機器學習預測未來48小時的監控指標

④ 目標追蹤規則

? ? ? ? 選擇一個云監控指標,指定目標值。伸縮組根據目標指標自動創建報警任務,刪除規則后伸縮組會同步刪除自動生成的報警任務

第七章 伸縮模式詳解

1、模式類型

① 固定數量模式

? ? ? ? 由伸縮組的最大、最小實例數,或者期望實例數。

② 健康模式

? ? ? ? 需要開始實例中的健康檢查配置。

③ 定時模式

? ? ? ? 由定時任務決定、多個定時任務時執行最早觸發的一個。

④ 動態模式

? ? ? ? 伸縮效果由報警任務決定。

⑤ 自定義模式

? ? ? ? 需要手動添加、移出、刪除實例,或者手動觸發伸縮規則。

⑥ 多模式并行

? ? ? ? 多種模式一起生效,配置也要全部都有。

2、健康模式說明

? ? ? ? 開啟健康模式后,伸縮組會定時檢查實例的運行狀態,如果發現一臺實例位處于運行中,判定實例不健康并移出,創建新的實例加入伸縮組。

3、定時模式說明

? ? ? ? 是一種預設任務,可以指定時間執行伸縮規則。

? ? ? ? 如果沒有設置重復周期,那么只會執行一次。

? ? ? ? 伸縮方式可以選擇已有的伸縮規則,也可以直接設置實例的最大最小值或者期望數。

? ? ? ? 重試過期時間:為了避免定時任務執行失敗,在設置的重啟過期時間內會重試定時任務。

? ? ? ? 可以在控制臺操作修改或者刪除定時任務、啟用停用定時任務。

4、動態模式說明

? ? ? ? 適用于沒有規律的波動需求。

? ? ? ? 需要利用云監控服務CMS,監控特定的指標,對數據指標進行實時統計,當統計值滿足指定的報警條件時,觸發報警任務并指定伸縮活動

? ? ? ? 報警任務分為兩類:系統監控報警和自定義報警任務。

? ? ? ? 如果有其他非并行的伸縮活動時,報警任務觸發的伸縮活動就不生效

? ? ? ? 冷卻時間內不生效。

? ? ? ? 報警任務默認沉默時間是一分鐘,一分鐘內不會重復觸發報警任務伸縮。

① 系統監控報警任務

? ? ? ? 伸縮組會給組內所有實例都安裝云監控客戶端,GPU監控需要單獨安裝GPU驅動程序。

② 自定義監控報警任務

? ? ? ? 需要主動將特定業務的監控指標上報給云監控。

③ 報警任務支持監控項

? ? ? ? CPU使用率、內存、系統平均負載、內外網出入流量、TCP總連接數和已建立數、系統盤讀寫BPS和IOPS、內網網卡收包和發包數,GPU使用率、GPU內存空閑率和使用率

第八章 伸縮活動

1、彈性擴容

2、彈性縮容

3、伸縮活動特點

? ? ? ? 無法強行終止

? ? ? ? ECS實例級別的事務完整性

? ? ? ? 有冷卻時間

? ? ? ? 可進行實例生命周期托管;

? ? ? ? 可進行實例釋放保護;

? ? ? ? 同一個伸縮組內,統一時間只能有一個伸縮活動

4、伸縮活動自動創建ECS實例

? ? ? ? 判斷伸縮組的健康狀態和邊界條件;

? ? ? ? 分配伸縮活動ID并執行活動;

? ? ? ? 創建ECS實例;

? ? ? ? 修改伸縮組的實例數;

? ? ? ? 為ECS分配IP;

? ? ? ? 將實例添加到RDS白名單;

? ? ? ? 啟動ECS實例;

? ? ? ? 將實例添加到SLB的后端服務器組,權重就是配置的權重。

? ? ? ? 伸縮活動完成,啟動冷卻。

5、伸縮活動自動移出實例

? ? ? ? 判斷申訴組健康狀態;

????????分配伸縮活動ID并執行活動;

? ? ? ? 從SLB后端服務器組移出實例;

? ? ? ? 停止實例;

? ? ? ? 從RDS白名單移出實例;

? ? ? ? 釋放實例;

? ? ? ? 修改伸縮組數量;

? ? ? ? 活動完成,啟動冷卻。

6、手動添加實例到伸縮組

? ? ? ? 判斷伸縮組的健康狀態、邊界條件和實例的狀態以及類型;

? ? ? ? 分配伸縮ID并執行伸縮活動;

? ? ? ? 將實例添加到伸縮組;

? ? ? ? 修改伸縮組實例數;

? ? ? ? 添加到RDS白名單;

? ? ? ? 將實例添加到SLB的后端服務器組;

? ? ? ? 伸縮完成,啟動冷卻。

7、手動移出伸縮組實例

????????判斷申訴組健康狀態;

????????分配伸縮活動ID并執行活動;

? ? ? ? 停止SLB向實例轉發流量;

? ? ? ? 等待60S從SLB后端服務器組移出實例;

? ? ? ? 從RDS白名單移出實例;

? ? ? ? 修改伸縮組數量;

? ? ? ? 移出實例;

? ? ? ? 活動完成,啟動冷卻。

8、并行/非并行伸縮活動

? ? ? ? 已設置期望實例數的伸縮組可以執行并行伸縮活動、但是不支持同時有并行和非并行伸縮活動

? ? ? ? 未設置期望數的伸縮組不可以執行并行伸縮組。

①?并行伸縮活動

????????存在執行中的并行伸縮活動時,可以執行其他并行伸縮活動。包括通過以下方式觸發的伸縮活動:

  • 手動執行伸縮規則、通過定時任務執行伸縮規則。

  • 手動添加實例、手動移出實例。

  • 系統自動進行的期望實例數檢查任務、實例健康檢查任務、最大最小值檢查任務。

②?非并行伸縮活動

????????存在執行中的非并行伸縮活動時,不能執行其他伸縮活動。并行伸縮活動以外的伸縮活動均屬于非并行伸縮活動。包括但不限于通過以下方式觸發的伸縮活動:

  • 系統通過報警任務自動執行伸縮規則。

  • 手動在實例列表頁簽中執行再均衡分布。

  • 系統自動執行搶占式實例補償任務。

9、冷卻時間

? ? ? ? 多臺實例加入或者移出伸縮組,以最后一臺實例為基準計算冷卻時間。

? ? ? ? 如果是停用后的再啟用伸縮組,首次伸縮活動可以立即執行,不需要CD。

? ? ? ? 非報警任務觸發的伸縮活動不需要CD。

第九章 自動化運維

? ? ? ? 通過生命周期掛鉤和OOS模板實現自動化運維。

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

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

相關文章

CANopen轉Modbus TCP轉換器助生產線智能化升級

在自動化工業控制領域,CANopen和Modbus TCP是兩種廣泛采用的通信協議。它們各自具有獨特的特點和優勢,但在某些應用場景中,需要設備能夠同時支持這兩種通信標準。這就需要一個能夠實現開疆智能CANopen轉Modbus TCP轉換的網關KJ-TCPC-CANP設備…

C++圖書管理

圖書館的書籍分類系統使用二進制標簽管理,0 代表兒童讀物,1 代表青少年書籍。管理員發現當前的書架排列中不允許出現青少年書籍之后連接兒童讀物的情況(即 10 子串)。管理員每次可以交換任意兩本書的位置。請計算讓書架符合規定所…

汽車免拆診斷案例 | 2010款捷豹XFL車制動警告燈、DSC警告燈異常點亮

故障現象  一輛2010款捷豹XFL車,搭載3.0 L發動機,累計行駛里程約為35萬km。車主反映,該車組合儀表上的制動警告燈、動態穩定控制系統(DSC)警告燈異常點亮(圖1),且提示“DSC NOT AV…

el-upload組件,上傳文件失敗,:on-error方法失效

el-upload組件方法失效 問題原因解決 問題 使用el-upload組件上傳文件,有這么一個問題上傳文件處理報錯Excel、Word。org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException。 按上述,后端編寫完代碼,輸出正常,但…

可視化圖解算法50:最小的K個數

牛客網 面試筆試 TOP101 | LeetCode 面試題 17.14. 最小K個數 1. 題目 描述 給定一個長度為 n 的可能有重復值的數組,找出其中不去重的最小的 k 個數。例如數組元素是4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4(任意順序皆可)。 數…

Ragflow配置注意項

在 .env文件中啟用v.0.19.0版本,帶emabedding models RAGFLOW_IMAGEinfiniflow/ragflow:v0.19.0 RAGFlow image tagImage size (GB)Has embedding models?Stable?v0.19.0≈9??Stable releasev0.19.0-slim≈2?Stable releasenightly≈9??Unstable nightly b…

Word VBA快速制作填空題

實例需求:Word文檔用于英語單詞學習,重點記憶單詞標記下劃線,其內容如下圖所示。 現在文檔轉換為填空題(無論單詞字符多少,填空部分統一使用10個空格)和參考答案兩部分,如下圖所示。 示例代碼如…

不變性(Immutability)模式

1. 不變性(Immutability)模式 1.1. 不變性模式的概念 定義:對象一旦被創建,其內部狀態就不再發生變化,也即“只讀無寫”,不會出現并發寫的問題,自然線程安全。 適用場景:只讀共享…

探秘鴻蒙 HarmonyOS NEXT:鴻蒙定時器,簡單倒計時的場景應用

在鴻蒙 ArkTS 開發中,定時器是實現動態效果和定時任務的重要工具。基于鴻蒙 API 12 及以上版本,ArkTS 提供了功能豐富的定時器 API,本文將帶你全面了解定時器的使用方法。 一、定時器常用 API 介紹 ArkTS 中的定時器主要分為一次性定時器&a…

安卓基礎(語義樹)

進化1 package com.example.demotest.unread;import android.accessibilityservice.AccessibilityService; import android.content.res.Resources; import android.graphics.Rect; import android.util.DisplayMetrics; import android.util.Log; import android.view.access…

Linux基礎開發工具——vim工具

文章目錄 vim工具什么是vimvim的多模式和使用vim的基礎模式vim的三種基礎模式三種模式的初步了解 常用模式的詳細講解插入模式命令模式模式轉化光標的移動文本的編輯 底行模式替換模式視圖模式總結 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是繼續講解Linux系統下的…

C++_核心編程_多態案例二-制作飲品

#include <iostream> #include <string> using namespace std;/*制作飲品的大致流程為&#xff1a;煮水 - 沖泡 - 倒入杯中 - 加入輔料 利用多態技術實現本案例&#xff0c;提供抽象制作飲品基類&#xff0c;提供子類制作咖啡和茶葉*//*基類*/ class AbstractDr…

AcWing--數據結構1

用數組來模擬鏈表。這種實現鏈表的方式也叫靜態鏈表。 1.單鏈表 寫鄰接表&#xff1a;存儲圖和樹 我們定義&#xff1a;e[N]用來表示某個點的值是多少&#xff1b;ne[N]用來表示某個點的next指針是多少 e和ne是用下標關聯起來的 如&#xff1a;head->3->5->7->…

云啟出海,智聯未來|阿里云網絡「企業出海」系列客戶沙龍上海站圓滿落地

借阿里云中企出海大會的東風&#xff0c;以**「云啟出海&#xff0c;智聯未來&#xff5c;打造安全可靠的出海云網絡引擎」為主題的阿里云企業出海客戶沙龍云網絡&安全專場于5.28日下午在上海順利舉辦&#xff0c;現場吸引了來自攜程、小紅書、米哈游、嗶哩嗶哩、波克城市、…

多模態分類案例實現

以下是基于飛槳平臺實現的多模態分類詳細案例&#xff0c;結合圖像和文本信息進行分類任務。案例包含數據處理、模型構建、訓練和評估的完整流程&#xff0c;并提供詳細注釋&#xff1a; 一、多模態分類案例實現 import os import json import numpy as np from PIL import I…

Express框架:Node.js的輕量級Web應用利器

Hi,我是布蘭妮甜 !在當今快速發展的Web開發領域,Node.js已成為構建高性能、可擴展網絡應用的重要基石。而在這片肥沃的生態系統中,Express框架猶如一座經久不衰的燈塔,指引著無數開發者高效構建Web應用的方向。本文章在為讀者提供一份全面而深入的Express框架指南。無論您…

K-Means顏色變卦和漸變色

一、理論深度提升&#xff1a;補充算法細節與數學基礎 1. K-Means 算法核心公式&#xff08;增強專業性&#xff09; 在 “原理步驟” 中加入數學表達式&#xff0c;說明聚類目標&#xff1a; K-Means 的目標是最小化簇內平方和&#xff08;Within-Cluster Sum of Squares, W…

深入解析C#表達式求值:優先級、結合性與括號的魔法

—— 為什么2/6*4不等于1/12&#xff1f; &#x1f50d; 一、表達式求值順序為何重要&#xff1f; 表達式如精密儀器&#xff0c;子表達式求值順序直接決定結果。例如&#xff1a; int result 3 * 5 2;若先算乘法&#xff1a;(3*5)2 17 ?若先算加法&#xff1a;3*(52)21…

Docker 離線安裝指南

參考文章 1、確認操作系統類型及內核版本 Docker依賴于Linux內核的一些特性&#xff0c;不同版本的Docker對內核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux內核3.10及以上版本&#xff0c;Docker17.09及更高版本對應Linux內核4.9.x及更高版本。…

Spring——Spring相關類原理與實戰

摘要 本文深入探討了 Spring 框架中 InitializingBean 接口的原理與實戰應用&#xff0c;該接口是 Spring 提供的一個生命周期接口&#xff0c;用于在 Bean 屬性注入完成后執行初始化邏輯。文章詳細介紹了接口定義、作用、典型使用場景&#xff0c;并與其他相關概念如 PostCon…