OpenStack 入門與實踐

一、云計算概述

1.1 云計算的定義與本質

云計算(Cloud Computing)是一種基于網絡的超級計算模式,它能夠根據用戶的不同需求,動態提供所需的計算資源、存儲資源和網絡資源等。這種模式就像我們日常生活中使用水電煤氣一樣,用戶無需關心資源的生產和維護過程,只需按需付費即可。

從狹義上講,云計算是通過網絡按需向用戶提供 IT 基礎設施,包括硬件、平臺和軟件,提供資源的網絡被稱為 "云"。在用戶眼中,"云" 中的資源是無限的,并且可以通過橫向擴展來滿足不斷增長的需求。

廣義的云計算則是指服務的交付和使用模式,通過網絡以按需、易擴展的方式獲得所需的服務。這種服務不僅限于 IT 和軟件領域,還可以是任意其他類型的服務。

1.2 云計算的三種服務模型

1.2.1 IaaS(基礎設施即服務)

IaaS 提供最底層的 IT 基礎設施服務,包括計算能力、存儲空間、網絡資源等。用戶可以從中獲取硬件或虛擬硬件資源(如裸機或虛擬機),然后在這些資源上安裝操作系統和其他應用程序。IaaS 一般面向的是 IT 管理人員,他們需要對基礎設施進行配置和管理。

1.2.2 PaaS(平臺即服務)

PaaS 把已經安裝好開發環境的系統平臺作為一種服務通過互聯網提供給用戶。用戶可以在這個平臺上安裝其他應用程序,但不能修改已經安裝好的操作系統和運行環境。PaaS 主要面向開發人員,他們需要了解平臺提供環境下的應用開發和部署。

1.2.3 SaaS(軟件即服務)

SaaS 可直接通過互聯網為用戶提供軟件和應用程序等服務。用戶可以通過租賃的方式獲取安裝在廠商或服務供應商那里的軟件,一般只需一組賬號和密碼即可使用。SaaS 面向的是普通用戶,無需關心軟件的安裝和維護。

二、OpenStack 概述

2.1 OpenStack 的起源與發展

OpenStack 是由 Rackspace(一家美國的云計算廠商)和美國國家航空航天局(NASA)在 2010 年 7 月共同發起的項目。其中,Rackspace 貢獻了存儲源碼(Swift),NASA 貢獻了計算源碼(Nova)。經過多年的發展,OpenStack 已經成為云計算領域最受歡迎的開源項目之一,截至目前,其最新版本已更新到 Train 版,并且每半年左右會更新一次版本。

2.2 OpenStack 的定義與功能

OpenStack 是一個通過數據中心控制計算資源、存儲資源和網絡資源的云平臺,同時它也是一款以 Apache 許可證授權的自由軟件和開放源代碼項目,支持所有類型的云環境。其目標是提供簡單實施、可擴展以及功能豐富的云產品,由來自全世界的云計算專家共同維護。

OpenStack 通過多種補充服務提供了 IaaS 解決方案,每一種服務均提供了相應的應用程序接口(API),以促進各組件之間的整合。它被廣泛用于公有云以及私有云的建設和管理,其社區規模涵蓋了 130 家企業以及 1350 位開發人員,這些機構與個人都將 OpenStack 作為 IaaS 資源的通用前端。

2.3 OpenStack 的核心項目

OpenStack 包含多個核心項目,以下是常見的 8 個核心項目及其功能:

服務項目名稱功能描述
Compute(計算服務)Nova負責實例生命周期的管理,是計算資源的單位。對 Hypervisor 進行屏蔽,支持多種虛擬化技術(紅帽默認為 KVM),支持橫向擴展
Network(網絡服務)Neutron負責虛擬網絡的管理,為實例創建網絡拓撲結構。是面向租戶的網絡管理,可以自定義網絡,并使租戶之間互不影響
Identity(身份認證服務)Keystone類似于 LDAP 服務,對用戶、租戶和角色、服務進行認證與授權,并且支持多認證機制
Dashboard(控制面板服務)Horizon提供一個 Web 管理界面,與 OpenStack 底層服務進行交互
Image Service(鏡像服務)Glance提供虛擬機鏡像模板的注冊與管理,將做好的操作系統復制為鏡像模板,在創建虛擬機時直接使用。可支持多格式的鏡像
Block Storage(塊存儲服務)Cinder負責為運行實例提供持久的塊存儲設備,可進行方便的擴展,按需付費,支持多種后端存儲
Object Storage(對象存儲服務)Swift為 OpenStack 提供基于云的彈性存儲,支持集群無單點故障
Telemetry(計量服務)Ceilometer用于度量、監控和控制數據資源的集中來源,為 OpenStack 用戶提供記賬途徑

2.4 OpenStack 的優勢

OpenStack 在多個方面具備顯著優勢,使其有可能成為云計算領域的行業標準:

  • 控制性:完全開源的平臺,模塊化的設計,提供相應的 API 接口,方便與第三方技術集成,從而滿足自身業務需求。
  • 兼容性:OpenStack 兼容其他公有云,方便用戶進行數據遷移。
  • 可擴展性:采用模塊化的設計,支持主流的 Linux 發行版本,可以通過橫向擴展,增加節點、添加資源。
  • 靈活性:用戶可以根據自己的需要建立基礎設施,也可以輕松地為自己的群集增加規模。此外,OpenStack 項目采用 Apache 2 許可,意味著第三方廠家可以重新發布源代碼。
  • 行業標準:眾多 IT 領軍企業都加入到 OpenStack 項目,這預示著 OpenStack 在未來可能形成云計算行業標準。

三、OpenStack 一鍵部署

3.1 部署環境準備

3.1.1 硬件要求

安裝部署 OpenStack 環境的主機設備最低配置要求如下:

類型最低配置要求
CPU支持 Intel 64 或 AMD 64 CPU 擴展,并啟用了 AMD-V 或 Intel VT 硬件虛擬化支持的 64 位 x86 處理器,邏輯 CPU 個數為 4 核
內存8GB
磁盤空間30GB
網絡1 個 1 Gbps 網卡
3.1.2 軟件環境

本案例使用操作系統為 CentOS 7.3 的主機,需要提前部署一臺新安裝操作系統的主機,要求能訪問互聯網,主機的系統采用最小化方式安裝。若通過 VMware 等虛擬機軟件實現,網絡采用橋接模式。

3.2 在線安裝前準備工作

3.2.1 準備虛擬機

通過 VMware 等軟件創建虛擬機,配置靜態 IP 地址、網關及 DNS 參數,并測試網絡連通性。需要注意的是,在配置 IP 地址時不要有 "DOMAIN=x.x.X.X" 這一行,因為這會影響 nova 配置文件內 host 的配置項,從而導致可用域不可用,無法創建虛擬機。

3.2.2 修改主機名

使用以下命令修改主機名:

[root@localhost ~]# hostnamectl set-hostname openstack
[root@localhost ~]# bash
[root@openstack ~]#
3.2.3 更新系統并安裝常用軟件
[root@openstack ~]# yum -y update
[root@openstack ~]# yum -y install vim wget net-tools lrzsz
3.2.4 關閉防火墻并取消開機啟動
[root@openstack ~]# systemctl stop firewalld
[root@openstack ~]# systemctl disable firewalld
3.2.5 禁用 NetworkManager
[root@openstack ~]# systemctl stop NetworkManager
[root@openstack ~]# systemctl disable NetworkManager
3.2.6 禁用 Selinux

修改 Selinux 配置文件:

[root@openstack ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected
# minimum - modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3.2.7 添加 hosts 綁定
[root@openstack ~]# cat /etc/hosts
192.168.9.137 openstack

3.3 使用 packstack 一鍵在線部署 OpenStack

3.3.1 Train 版 YUM 源安裝

最小化安裝 CentOS 7.3 并執行 update 升級后,系統會升級到 CentOS 7.7 版本。系統默認提供的 CentOS 官方 YUM 源包含了 Queens、Rocky、Stein、Train 四個 OpenStack 版本,選擇安裝 Train 版本:

[root@openstack ~]# yum install -y centos-release-openstack-train

安裝完成后,在 /etc/yum.repos.d/ 目錄下會自動生成 YUM 配置文件。

3.3.2 Packstack 軟件包安裝
[root@openstack ~]# yum install -y openstack-packstack
3.3.3 Packstack 一鍵部署 OpenStack

執行以下命令開始部署:

[root@openstack ~]# packstack --allinone

部署過程中會顯示一系列安裝步驟,當界面中出現 "successfully" 時,說明 OpenStack 安裝成功。部署完成后,會生成環境變量文件、日志文件等信息,并提示登錄 Dashboard 的方法。

3.4 離線安裝前準備工作

如果網絡較慢,無法通過 packstack 完成在線安裝,可采用離線方式安裝。離線安裝前的準備工作與在線安裝類似,但需要注意以下幾點:

虛擬機的磁盤空間要確保大于 30G,以 40G 為宜,因為要存放離線包。

IP 地址配置時不要出現 DOMAIN 配置項。

3.5 使用 packstack 一鍵離線部署 OpenStack

3.5.1 上傳并解壓 Train 版離線安裝包
[root@openstack ~]# mkdir /data && cd /data
[root@openstack data]# tar zxf openstack.tgz
3.5.2 配置本地 YUM 源
[root@openstack ~]# cd /etc/yum.repos.d/
[root@openstack yum.repos.d]# mkdir backup
[root@openstack yum.repos.d]# mv *.repo backup
[root@openstack yum.repos.d]# vim local.repo

在 local.repo 文件中添加以下內容:

[base]
name=base
baseurl=file:///data/base
gpgcheck=0
enabled=1[centos-ceph-nautilus]
name=centos-ceph-nautilus
baseurl=file:///data/centos-ceph-nautilus
gpgcheck=0
enabled=1[centos-nfs-ganesha28]
name=centos-nfs-ganesha28
baseurl=file:///data/centos-nfs-ganesha28
gpgcheck=0
enabled=1[centos-openstack-train]
name=centos-openstack-train
baseurl=file:///data/centos-openstack-train
gpgcheck=0
enabled=1[centos-qemu-ev]
name=centos-qemu-ev
baseurl=file:///data/centos-qemu-ev
gpgcheck=0
enabled=1[extras]
name=extras
baseurl=file:///data/extras
gpgcheck=0
enabled=1[openstack-train]
name=openstack-train
baseurl=file:///data/openstack-train
gpgcheck=0
enabled=1[rdo-qemu-ev]
name=rdo-qemu-ev
baseurl=file:///data/rdo-qemu-ev
gpgcheck=0
enabled=1[updates]
name=updates
baseurl=file:///data/updates
gpgcheck=0
enabled=1
3.5.3 更新 YUM 源數據
[root@localhost data]# createrepo /data/base/
[root@localhost data]# createrepo /data/centos-ceph-nautilus/
[root@localhost data]# createrepo /data/centos-nfs-ganesha28/
[root@localhost data]# createrepo /data/centos-openstack-train/
[root@localhost data]# createrepo /data/centos-qemu-ev/
[root@openstack data]# createrepo /data/extras
[root@openstack data]# createrepo /data/openstack-train/
[root@openstack data]# createrepo /data/rdo-qemu-ev/
[root@openstack data]# createrepo /data/updates/
[root@openstack data]# yum clean all
[root@openstack data]# yum makecache
3.5.4 安裝 openstack-packstack
[root@localhost ~]# yum -y install openstack-packstack
3.5.5 一鍵部署 OpenStack
[root@openstack ~]# packstack --allinone

部署完成后,仿照在線部署生成 br-ex 網橋配置文件。

四、通過 Dashboard 體驗 OpenStack 功能

4.1 Dashboard 簡介

Horizon 是 OpenStack 的一個組件,也是 OpenStack 中 Dashboard(儀表板,即 Web 控制臺)的項目名,主要用于 OpenStack 的管理,其底層通過 API 和 OpenStack 其他組件進行通信,為管理員提供 Web 頁面,方便操作管理。

4.2 登錄 Dashboard

在客戶端的瀏覽器地址欄中輸入?http://192.168.9.137/dashboard,進入 Dashboard 的登錄界面。安裝 OpenStack 后,在 root 用戶的 Home 目錄下會生成一個 keystonerc_admin 文件,該文件記錄了 keystone 認證的環境變量,包括用戶名和登錄密碼。

4.3 Dashboard 功能模塊

4.3.1 項目模塊

項目模塊主要包含訪問 API、計算、卷、網絡、對象存儲五個分類:

  • 訪問 API:顯示所有組件的服務端點。
  • 計算類:包含概況、實例、鏡像、密鑰對、主機組等子類,用于管理計算資源和實例。
  • 卷類:用于管理云主機的存儲卷,可創建卷和快照。
  • 網絡類:包含網絡拓撲、網絡、路由、安全組、浮動 IP、中繼等子類,用于管理網絡資源。
  • 對象存儲類:主要包含容器子類,用于存儲數據。
4.3.2 管理員模塊

管理員模塊與項目模塊功能相似,但權限更高,僅限管理員用戶操作,包含概況、計算類、卷類、網絡類、系統類等功能。

4.3.3 身份管理模塊

身份管理模塊主要有項目、用戶、組、角色等分類,用于管理用戶身份和權限。

五、創建云主機

5.1 創建云主機前的準備

創建云主機需要依賴 OpenStack 中的各種虛擬資源,如 CPU、內存、硬盤等。如果需要云主機連接外部網絡,還需要網絡、路由器等資源。如果需要外部網絡訪問云主機,還需要配置浮動 IP。

5.2 創建網絡

  1. 在控制臺中依次單擊 "項目"→"網絡"→"網絡" 按鈕,點擊右上角 "+ 創建網絡" 按鈕,輸入網絡名稱為 "private",保持默認復選框狀態,點擊 "下一步"。
  2. 在子網信息頁面,輸入子網名稱、網絡地址等參數,網關 IP 可保持為空或自定義,點擊 "下一步"。
  3. 在子網詳情頁面,配置 DHCP,輸入分配地址池和 DNS 服務器地址,點擊 "創建" 按鈕。

5.3 創建路由

  1. 在控制臺中依次單擊 "項目"→"網絡"→"路由" 按鈕,點擊右上角的 "+ 新建路由" 按鈕,填寫路由名稱 my_route,外部網絡選擇默認的公有網絡 public,點擊 "新建路由"。
  2. 點擊路由器名稱進入詳細信息頁面,在 "接口" 標簽下點擊 "+ 增加接口" 按鈕,選擇之前創建的 private 私有網絡,點擊 "提交"。

5.4 創建鏡像

  1. 核實現有鏡像大小,若鏡像過小需重新上傳正確鏡像。點擊 "項目"→"計算"→"鏡像" 按鈕,點擊 "+ 創建鏡像"。
  2. 在彈出頁面填寫鏡像信息,鏡像名稱填寫 "cirrors01",選擇鏡像源文件,鏡像格式選擇 "QCOW2",可見性選為 "公有",點擊創建鏡像。

5.5 創建云主機

  1. 點擊 "項目"→"計算"→"實例" 按鈕,點擊右上角 "創建實例" 按鈕。
  2. 在 "詳情" 頁面填寫實例名稱為 "test",其他字段保持默認,點擊 "下一項"。
  3. 在 "源" 頁面選擇鏡像 "cirrors01",填寫卷大小,點擊 "下一步"。
  4. 在 "實例類型" 頁面選擇 "m1.tiny"

  1. 在 "實例類型" 頁面,選擇資源占用最少的實例類型,單擊頁面下方名稱為 "m1.tiny" 的實例類型右邊的上箭頭,完成后單擊 "下一項" 按鈕。m1.tiny 實例類型的配置為 1CPU、512MB 內存、1GB 根分區磁盤,適合入門測試使用。

  2. 在 "網絡" 頁面中,選擇云主機連接的私有網絡。單擊之前創建的名稱為 "private" 網絡右邊的箭頭,保證 private 網絡置于可分配狀態,后續步驟保持默認,最后直接單擊 "創建實例" 按鈕。

  3. 在彈出的實例列表頁面中,可以看到已創建的云主機。創建實例需要執行塊設備映射等操作,耗時取決于硬件和網絡性能,等待片刻后可看到實例狀態變為 "運行中"。

5.6 管理云主機并測試連通性

  1. 云主機啟動成功后,單擊云主機名稱右側的下拉菜單,選擇 "控制臺" 按鈕,進入云主機的控制臺頁面。若控制臺顯示黑屏,同時按下 "Ctrl+Alt" 按鈕即可。

  2. 根據控制臺提示信息,輸入登錄用戶名:cirros,密碼:gocubsgo。進入 $ 提示符的 shell 終端,說明已成功登錄云主機。

  3. 在云主機控制臺中運行 ifconfig 命令,查看網絡配置。可以看到云主機已通過 private 網絡中的 DHCP 自動獲取到 IP 地址,如 192.168.100.200。

  4. 在云主機上測試連接外網和本地主機的連通性:

    • 運行ping -c 1 baidu.com測試連接百度,查看是否能獲取到百度的 IP 地址并返回響應。
    • 運行ping 本地主機IP測試與本地主機的連通性,確保網絡路由正常。
  5. 若 ping 外網不通,可能是以下原因導致:

    • 檢查 ifcfg-br-ex 配置文件,查看宿主機 br-ex 網卡是否啟動。若未啟動,執行命令[root@openstack ~]# ifconfig br-ex 172.24.4.1 netmask 255.255.255.0 up啟動 br-ex 網卡。
    • 檢查 Linux 虛擬機是否開啟了路由轉發。若未開啟,執行命令[root@localhost ~]# vi /etc/sysctl.conf,將net.ipv4.ip_forward = 0改為net.ipv4.ip_forward = 1,保存后執行[root@localhost ~]# sysctl -p使配置生效。

六、OpenStack 入門總結與實踐建議

6.1 入門實踐總結

通過本次 OpenStack 入門體驗,我們完成了從云計算概念理解、OpenStack 架構認知到實際環境部署和云主機創建的全流程操作。主要內容包括:

  1. 云計算的基本概念和三種服務模型(IaaS、PaaS、SaaS),明確了 OpenStack 作為 IaaS 解決方案的定位。

  2. OpenStack 的起源、核心組件及各服務的功能,了解了 Nova、Neutron、Keystone 等核心項目在云平臺中的作用。

  3. 使用 packstack 工具進行 OpenStack 一鍵部署,包括在線部署和離線部署兩種方式,掌握了部署前的環境準備和具體部署步驟。

  4. 通過 Horizon Dashboard 控制臺體驗 OpenStack 的各項功能,熟悉了項目、管理員、身份管理等模塊的操作界面和功能劃分。

  5. 完成了云主機創建的全流程操作,包括網絡配置、路由設置、鏡像準備和實例創建,并進行了網絡連通性測試。

6.2 生產環境實踐建議

雖然本次入門體驗完成了 OpenStack 的基本部署和操作,但在實際生產環境中,OpenStack 的搭建和運維要復雜得多,需要注意以下幾點:

  1. 硬件配置優化:生產環境中應根據業務需求合理配置硬件資源,避免資源瓶頸。計算節點、控制節點和存儲節點建議分離部署,以提高系統性能和穩定性。

  2. 高可用性設計:生產環境中需考慮組件的高可用性,如數據庫、消息隊列、API 服務等應采用集群部署,避免單點故障。

  3. 網絡規劃:復雜的網絡需求需要更精細的網絡規劃,包括租戶網絡隔離、負載均衡、防火墻策略等,確保網絡安全和性能。

  4. 存儲方案:根據業務對存儲性能和容量的需求,選擇合適的塊存儲和對象存儲后端,如 Ceph、GlusterFS 等,并進行合理的存儲資源分配和管理。

  5. 監控與告警:部署完善的監控系統,對 OpenStack 各組件的運行狀態、資源使用情況進行實時監控,并設置合理的告警閾值,及時發現和解決問題。

  6. 安全管理:加強身份認證和授權管理,合理配置安全組規則,定期進行安全漏洞掃描和修復,確保云平臺的安全性。

  7. 版本選擇與升級:根據業務需求和技術支持情況,選擇合適的 OpenStack 版本,并制定合理的升級計劃,確保系統能夠及時獲取新功能和安全補丁。

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

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

相關文章

AntV L7入門教程

以下教程將系統地介紹 AntV?L7 的核心 Scene 類用法,涵蓋實例化、地圖配置、視圖操作、圖層管理、事件監聽及資源銷毀等常用 API,并為每個方法給出完整示例代碼。所有示例均基于官方 API 文檔 ([l7.antv.antgroup.com][1])。 一、安裝與引入 # 安裝 L7…

【邊緣計算】場景

工業互聯網 對現場采集的數據進行數據預處理,將現場有用的信息提取出來實時上傳給平臺,為平臺大大減輕了處理的工作量。 匯聚現場數據統一接口上傳數據到云端,大大提高系統多樣部署的安全性,解決現場數據跨域訪問的問題。制造企業…

【FPGA學習】DDS信號發生器設計

目錄 一、設計原理與準備? 1.1 DDS 原理? 1.2 IP 核學習與準備?:FPGA開發中常用IP核——ROM/RAM/FIFO 2、ROM文件的設置 1.3 開發環境搭建? 二、DDS 信號發生器設計實現 2.1 系統架構設計? 2.2 代碼編寫與模塊實現? 三、測試結果與總結? 參考文獻&…

pyqt 簡單條碼系統

生產數據管理系統說明 系統概述 這是一個基于PyQt5和pyodbc開發的生產數據管理系統,主要用于管理生產過程中的物料綁定和查詢操作。系統提供了上料綁定和下料查詢功能,支持與SQL Server數據庫交互,實現數據的插入、查詢、更新和刪除操作。界…

【unitrix】 4.1 類型級加一操作(Add1.rs)

一、原碼 這段代碼實現了一個類型級的加一操作(Add1 trait),用于在Rust的類型系統中進行數值加一運算。 //! 加一操作特質實現 / Increment operation trait implementation //! //! 說明: //! 1. Z0、P1,、N1 1,常規計算 //! 2. …

git工作中常用

1.管理本地文件 git init//初始化生成一個本地倉庫 git add * //添加到暫存區 git commit–m “message” //提交到本地倉庫 2.刪除本地分支 git branch -d local_branch_name3.隱藏及解除隱藏 git stashgit stash pop4.遠程新建分支,在本地簽出時候怎么看到 …

Golang 中接口嵌套的詳細說明和使用示例

在 Go 語言中,接口嵌套(也稱為接口組合)是一種強大的特性,它允許你通過組合現有接口來創建新的接口。這種方式遵循了 Go 的組合優于繼承的設計哲學。 接口嵌套的基本概念 接口嵌套是指在一個接口中嵌入其他接口,從而…

數智管理學(二十四)

第二章 數智化重塑管理的核心 第三節 動態資源配置與實時優化 在當今數智化浪潮的席卷下,企業管理面臨著前所未有的變革與挑戰。資源配置作為企業管理的核心環節之一,其方式和效率直接影響著企業的運營成本、生產效率和市場競爭力。傳統的靜態資源配置…

Redis 各版本差異及性能測試指標對比

Redis 各版本差異及性能測試指標對比 Redis 主要版本差異 Redis 2.x 系列 主要特性: 支持主從復制支持簡單的持久化(RDB和AOF)發布/訂閱功能事務支持 局限性: 單線程模型集群功能有限 Redis 3.x 系列 重大改進: 引入Redis Cluster(官方…

Python圖形化秒表:使用Turtle打造精確計時工具

?? 編程基礎第一期《6-30》–簡易計時器/秒表,這是一個使用Python的turtle和time模塊實現的簡易計時器/秒表程序,提供簡潔的數字時間顯示。 目錄 🌟 功能特點🚀 使用方法🧩 程序架構設計💻 代碼詳解窗口和…

【軌物方案】軌物科技|LoRaWAN 賦能智能光伏清掃,解鎖電站高效運維新時代

在大型集中式光伏電站的廣袤土地上,清掃機器人的高效運行是保障發電效率的關鍵。然而,傳統的無線通信方式在這些偏遠、無4G/5G信號覆蓋的區域,往往步履維艱。作為專注于工業物聯網解決方案的軌物科技,我們深知這些痛點&#xff0c…

Python函數實戰:從基礎到高級應用

Python-函數 Python 中可以使用def關鍵字來定義函數。 函數定義規則: 函數代碼塊以 def 關鍵詞開頭,后接函數標識符名稱和圓括號 ()。任何傳入參數和自變量必須放在圓括號中間,圓括號之間可以用于定義參數。函數的第一行語句可以選擇性地使…

Mac在局域網中突然很慢(包括SMB、NFS、SCP、SSH、Ping等場景均很慢)

今天 SMB 又突然好慢,大概只有 8-9 MB/s,而蘋果 SMB 很容易突然很慢是出了名的。我就想裝 NFS,但是 NFS 弄好之后還是很慢,我服了,我就檢查了scp等場景,都很慢,但是互聯網下載速度還是很快的。 …

UMAP:用于降維的均勻流形近似和投影實驗

關鍵詞: Uniform Manifold Approximation and Projection (UMAP):均勻流形近似與投影 一、說明 對于降維,首先看數據集是否線性,如果是線性的用pca降維;如果是非線性數據,t-SNE或者UMAP,本文針…

【Datawhale組隊學習202506】YOLO-Master task03 IOU總結

系列文章目錄 task01 導學課程 task02 YOLO系列發展線 文章目錄 系列文章目錄前言1 功能分塊1.1 骨干網絡 Backbone1.2 頸部網絡 Neck1.3 頭部網絡 Head1.3.1 邊界框回歸頭1.3.2 分類頭 2 關鍵概念3 典型算法3.1 NMS3.2 IoU 總結 前言 Datawhale是一個專注于AI與數據科學的開…

Spring IOC容器核心揭秘:BeanFactory創建、配置加載解析并注冊為BeanDefinition

文章目錄 一、為何這個階段如此重要?二、整體流程全景圖三、源碼級深度解析1. BeanFactory的誕生源碼入口:refresh()方法核心方法:obtainFreshBeanFactory()核心實現:refreshBeanFactory()BeanFactory實例化 2. ★ 核心&#xff1…

解鎖n8n:開啟工作流自動化的無限可能(5/6)

文章摘要:n8n 是一款開源低代碼工作流自動化平臺,通過可視化拖放節點創建復雜工作流,無需大量代碼。具有強大集成能力、數據轉換、錯誤處理等功能,適用于數據同步、客戶關系管理、IT 自動化等場景。相比 Zapier、IFTTT 等工具&…

數據賦能(308)——合作共享——數據交流

概述 重要性如下: 信息準確性:數據交流原則確保在數據傳遞過程中信息的準確性,這是決策和業務活動的基礎。決策支持:準確的數據交流為決策提供有力支持,幫助組織做出更明智的決策。業務效率:有效的數據交…

TCP流量控制與擁塞控制:核心機制與區別

一、TCP流量控制(Flow Control) 定義:通過調節發送方的發送速率,確保接收方能夠及時處理數據,避免緩沖區溢出。 本質:解決發送方與接收方之間的"端到端"速率匹配問題。 1. 實現機制&#xff1a…

iOS多端兼容性調試:一次iOS性能優化分工具協作排查過程

在多技術棧混合開發日益普及的今天,iOS應用中越來越多地集成了WebView、Flutter、React Native甚至小程序模塊。而這些模塊帶來的復雜性,不僅體現在UI適配,還包括數據同步、系統權限管理、線程調度等方面的問題。 本文記錄的是我們在處理一個…