文章編號:11340時間:2024-09-30人氣:
在當今瞬息萬變的數字時代,確保大型集群的高可用性至關重要。高可用性意味著系統即使出現故障也能保持正常運行,從而保障業務連續性和客戶滿意度。本文將深入探討大型集群的高可用性策略,包括故障轉移、容錯性和自動修復。
故障轉移機制通常包括以下步驟:
故障檢測:系統持續監控節點的健康狀況,并檢測任何故障。故障通知:一旦檢測到故障,系統會向故障轉移管理器發送通知。故障轉移決策:故障轉移管理器評估故障的情況,并決定是否需要進行故障轉移。故障轉移執行:如果需要進行故障轉移,故障轉移管理器將啟動故障轉移過程,將服務轉移到備用節點。容錯性機制包括以下方面:
數據復制:將數據復制到多個節點上,以確保即使一個或多個節點故障,數據也不會丟失。冗余組件:使用冗余組件,如電源和網絡連接,以防止單點故障導致整個系統失效。動態重新配置:當節點發生故障時,系統能夠自動重新配置,將服務重新分配到其他可用節點。自動修復機制包括以下流程:
故障檢測和診斷:系統持續監控節點和服務的健康狀況,并診斷任何故障。修復措施:根據診斷結果,系統觸發自動修復措施,例如重新啟動服務或替換故障組件。驗證:在修復完成后,系統驗證修復操作是否成功,并恢復服務。Oraclerac節點一般情況下是不開放端口的。 原因是Oraclerac是Oracle集群架構,由多個節點組成,節點之間通過專用網絡互相通信。 在Oraclerac中,通過共享存儲來實現數據的高可用性和故障恢復能力。 對于外部網絡來說,Oraclerac節點不直接對外提供服務。 外部訪問Oraclerac集群的方式是通過連接到VIP(Virtual IP)或者通過監聽器(Listener)來訪問數據庫服務。 因此,對外開放Oraclerac節點的端口是不必要的,也存在一定的安全風險。 然而,有些特定情況下,可能需要開放Oraclerac節點的端口,比如需要進行特定的網絡調試、監控或者管理操作。 但是在這種情況下,應該采取嚴格的安全措施,限制訪問的IP范圍,使用安全協議進行通信等,以保護Oraclerac集群的安全性。 拓展內容:Oraclerac是一種高可用性和故障恢復能力較強的數據庫解決方案。 它采用共享存儲和節點間的數據同步來實現數據庫的冗余備份和自動故障轉移。 通過多個節點的協同工作,Oraclerac可以提供持續的數據庫服務,即使在節點故障或者計劃維護期間也能保持數據的可用性。 除了提高數據庫的可用性外,Oraclerac還能提供更好的性能擴展能力。 通過增加節點,可以提高數據庫的并發處理能力和負載均衡能力。 同時,Oraclerac還支持在線擴容和在線升級,可以方便地滿足不斷增長的業務需求和技術要求。 總之,Oraclerac是一種強大的數據庫架構,在企業級應用中被廣泛使用。 在配置和管理Oraclerac集群時,需要綜合考慮安全性、性能、可用性等因素,合理設置相關的網絡訪問策略,以確保數據庫的穩定運行和數據的安全。
當你部署完 Kubernetes, 即擁有了一個完整的集群。 一個 Kubernetes 集群由一組被稱作節點的機器組成。 這些節點上運行 Kubernetes 所管理的容器化應用。 集群具有至少一個工作節點。 工作節點托管作為應用負載的組件的 Pod 。 控制平面管理集群中的工作節點和 Pod 。 為集群提供故障轉移和高可用性,這些控制平面一般跨多主機運行,集群跨多個節點運行。 本節概述了交付正常運行的 Kubernetes 集群所需的各種組件。 從上面的構架圖可以看出來整個kubernetes集群分為control plane(master)和node節點兩部份。 master組件是集群的“腦力”輸出者。 它維護有kubernetesr 的所有對象記錄,負責持續管理對象狀態并響應集群中各種資源對象的管理操作,以及確保各資源對象的實際狀態與所需狀態相匹配。 主要由API Server(kube-apiserver)、Control Manager(kube-controller-manager)和Scheduler(kube-scheduler)這3個組件。 以及一個用于集群狀態存儲的etcd存儲服務組成。 kube-apiserver API Server是 Kubernetes控制平臺的前端。 支持不同類型應用的生命周期編排,包括部署、縮放和滾動更新等。 還是整個集群的網關接口,由kube-apiserver守護程序運行為服務。 通過HTTP/HTTPS協議將RESTful API公開給用戶。 是發往集群的所有REST操作命令的接入點,并提供認證、授權、訪問控制、API注冊和發現等所有的REST請求。 并將結果狀態持久存儲于集群狀態存儲系統(etcd)中。 kube-apiserver 支持同時提供 https(默認監聽在 6443 端口)和 http API(默認監聽在 127.0.0.1 的 8080 端口),其中 http API 是非安全接口,不做任何認證授權機制,不建議生產環境啟用。 兩個接口提供的 REST API 格式相同kube-controller-manager Control Manager負責實現用戶通過API Server提交的終態聲明。 它通過一系列操作步驟驅動API對象的當前狀態逼近或同于期望狀態。 Kubernetes提供了驅動Node、Pod、Server、Endpoint、ServiceAccount和Token等數十種類型的API對象的控制器。 從邏輯上講,每個控制器都是一個單獨的進程, 但是為了降低復雜性,它們都被編譯到同一個可執行文件,并在一個進程中運行。 控制器包括:kube-scheduler Scheduler是指為API Server 接收到的每一個pod創建請求,并在集群中為其匹配出一個最佳的工作節點為。 調度決策考慮的因素包括單個 Pod 和 Pod 集合的資源需求、硬件/軟件/策略約束、親和性和反親和性規范、數據位置、工作負載間的干擾和最后時限等特性。 etcd kubernetes集群的所有狀態信息都需要持久存儲于存儲系統etcd中。 etcd是由CoreOS基于Raft協議開發的分布式鍵值存儲。 可用于服務發現。 共享配置以及一致性保障。 生產環境中應該以etcd集群的方式運行以確保其服務可用性,并需要制周期備份策略以確保數據安全可靠。 etcd還為其存儲的數據提供了監聽(watch)機制。 用于監視和推送變更,API Server是kubernetes集群中唯一能夠與etcd通信的組件。 封裝了這種監聽機制。 并借此同其他各組件高效協同。 Node組件是集群中的“體力”輸出者,因而一個集群通常會有多個Node以提供足夠的承載力來運行容器化應用和其他工作負載。 kubelet kubelet是運行于每個node節點之上的“節點代理”服務,負責維護容器的生命周期,同時也負責Volume(CSI)和網絡(CNI)的管理;其主要功能概括如下: 持續監聽node的健康狀態并向master匯報。 基于用戶自定義的探針進行存活狀態探測,并在任何Pod出現問題時將其重建為新實例。 準備pod所需的數據卷 返回pod的狀態 在node節點執行容器的健康檢測 Pod是一組容器組成的集合并包含這些容器的管理機制。 安并未額外定義進程的邊界或其他更多抽象,因此真正負責運行容器的依然是底層的容器運行時。 kubelet通過CRI(容器運行時接口)可支持多種類型的OCI容器運行時,例如docker、 containerd、CRI-O、runC、fraki和kata Containers等kube-proxy kube-proxy也是需要運行于集群中每個節點之上的服務進程。 它把API Server上的Service資源對象轉換為當前節點上的iptables或與ipvs規則。 這些規則能夠將那些發往該Service對象ClusterIP的流量分發至它后端的Pod端點上。 kube-proxy是kubernetes的核心網絡組件。 它本質上更象是Pod的代理及負載均衡器。 負責確保集群中Node、Service和Pod對象之間的有效通信 。 kube-proxy 不同的版本可支持三種工作模式 UserSpace: kubernetes V1.1之前使用,V1.2及以后就已淘汰 IPtables: Kubernetes 1.1版本開始支持。 1.2開始為默認 IPVS: kubernetes 1.9引入到1.11為正式版本,需要安裝ipvadm、ipset工具包和加載ip_vs內核模塊。 kubectl 概述 是一個通過命令行對kubernetes集群管理的工具 基于Web的用戶接口,用于可視化k8s集群。 dashborad可用于獲取集群中資源對象的詳細信息,Dashboard提供GUI,作為運維人員,使用kubectl命令行工具管理足矣 CoreDNS負責為整個集群提供DNS服務,它自1.11版本起默認使用CoreDNS,一種靈活,可擴展的DNS服務,之前的版本用到的是kube-dns項目,SkyDNS則是更早一代的解決方案。
集群(cluster)是由一組計算機作為整體向用戶提供網絡資源的系統,這些計算機被稱為節點。 理想的集群讓用戶不會察覺到其后端的多個計算機,而將集群視為單一系統,管理員可以靈活地增加或刪除節點。 集群通過協同工作充分利用計算資源,能將過載任務分配給集群中其他計算機,實現與專用計算機相媲美的處理能力,但成本更低。 集群系統包括硬件(節點、網絡、存儲)和軟件(集群系統、節點系統、應用支撐軟件)。 集群技術的核心定義:一組相互獨立的服務器在網絡中表現為單一系統,協同管理提供高可靠性的服務。 集群中所有計算機共享一個共同名稱,集群內任一系統運行的服務被所有網絡客戶共享。 集群系統能夠協調管理各組件的錯誤和失敗,并在集群中透明地加入或移除組件。 集群包含多臺服務器,共享數據存儲空間。 任何運行應用的服務器上的數據存儲在共享空間中,服務器的操作系統和應用文件存儲在各自的本地存儲上。 集群節點通過內部局域網通信,當節點服務器故障時,應用服務自動在另一節點接管。 集群系統的主要優點包括高可擴展性、高可用性(HA)、高性能和高性價比。 集群系統分為高可用性和性能計算集群。 高可用性集群致力于提供高度可靠的服務,利用集群容錯性確保7*24小時不間斷服務,如文件服務器、數據庫服務。 負載均衡集群則通過將任務平均分配到集群中不同的計算機,提高任務處理效率,實現高性能。 實際應用中,高可用性和負載均衡功能可能結合使用,提供高效穩定服務。 高可用性(HA)是指計算機系統的可靠性(MTTF)與可維護性(MTTR)的度量,可用性定義為MTTF與總時間的百分比。 負載均衡服務器的高可用性通過建立備份服務器實現,主服務器與備份服務器運行HA監控程序,通過“我在線”信息監控對方運行狀況。 當備份服務器不能在規定時間內收到信息,接管主服務器服務;當主服務器恢復后,兩者系統保持一致,故障恢復自動完成。 HA有三種工作方式:主從方式、雙機雙工方式和集群工作方式。 主從方式中,一臺為主機,另一臺為備份機,主機宕機后備份機接管所有工作。 雙機雙工方式中,兩臺主機同時運行服務,相互監測,任一臺宕機后另一臺接管服務。 集群工作方式中,多臺主機共同工作,每個主機運行服務,為服務定義備用主機,當主機故障時,服務由其他主機接管。 面對困境,提升當前能力至極致,是解決問題的關鍵。
所謂的高可用,也叫 HA(High Availability),是分布式系統架構設計中必須考慮的因素之一,它是保證系統SLA的重要指標。 Redis 高可用的主要有三種模式: 主從模式 , 哨兵模式和集群模式 。
Redis 提供了 Redis 提供了復制(replication)功能,當一臺 redis 數據庫中的數據發生了變化,這個變化會被自動地同步到其他的 redis 機器上去。
Redis 多機器部署時,這些機器節點會被分成兩類,一類是主節點(master 節點),一類是從節點(slave 節點)。 一般 主節點可以進行讀、寫操作 ,而 從節點只能進行讀操作 。 一個主節點可以有多個從節點,但是一個從節點只會有一個主節點,也就是所謂的 一主多從結構 。
· 支持主從復制,主機會自動將數據同步到從機,可以進行讀寫分離;
· Master 是以非阻塞的方式為主 Slaves 提供服務。所以在 Master-Slave 同步期間,客戶端仍然可以提交查詢或修改請求;
· Slave 同樣是以非阻塞的方式完成數據同步。 在同步期間,如果有客戶端提交查詢請求,Redis 則返回同步之前的數據。
· Redis 不具備自動容錯和恢復功能,主機從機的宕機都會導致前端部分讀寫請求失敗,需要等待機器重啟或者手動切換前端的 IP 才能恢復;
· 主機宕機,宕機前有部分數據未能及時同步到從機,切換 IP 后面還會引入數據不一致的問題,降低了系統的可用性;
· Redis 較難支持在線擴容,在集群容量達到上限時在線擴容會變得很復雜;
· Redis 的主節點和從節點中的數據是一樣的,降低的內存的可用性
實際生產中,我們優先考慮哨兵模式。 這種模式下,master 宕機,哨兵會自動選舉 master 并將其他的 slave 指向新的 master。
在主從模式下,redis 同時提供了哨兵命令redis-sentinel,哨兵是一個獨立的進程,作為進程,它會獨立運行。 其原理是哨兵進程向所有的 redis 機器人發送命令,等待 Redis 服務器響應,從而監控運行的多個 Redis 實例。 一般為了便于決策選舉,使用 奇數個哨兵 。 多個哨兵構成一個哨兵集群,哨兵直接也會相互通信,檢查哨兵是否正常運行,同時發現 master 戰機哨兵之間會進行決策選舉新的 master
哨兵模式的作用:
· 通過發送命令,讓 Redis 服務器返回監控其運行狀態,包括主服務器和從服務器;
· 然而一個哨兵進程對 Redis 服務器進行監控,也可能會出現問題,為此,我們可以使用多個哨兵進行監控。 各個哨兵之間還會進行監控,這樣就形成了多種哨兵模式。
哨兵很像 kafka 集群中的 zookeeper 的功能。
· 哨兵模式是基于主從模式的,所有主從的優點,哨兵模式都具有。
· 主從可以自動切換,系統更健壯,可用性更高。
· 具有主從模式的缺點,每臺機器上的數據是一樣的,內存的可用性較低。
· Redis 較難支持在線擴容,在集群容量達到上限時在線擴容會變得很復雜。
Redis 集群模式本身沒有使用一致性 hash 算法,而是使用 slots 插槽 。
Redis 哨兵模式基本已經可以實現高可用,讀寫分離 ,但是在這種模式下每臺 Redis 服務器都存儲相同的數據,很浪費內存,所以在 redis3.0 上加入了 Cluster 集群模式,實現了 Redis 的分布式存儲,對數據進行分片,也就是說每臺 Redis 節點上存儲不同的內容;每個節點都會通過集群總線(cluster bus),與其他的節點進行通信。 通訊時使用特殊的端口號,即對外服務端口號加 。 例如如果某個 node 的端口號是 6379,那么它與其它 nodes 通信的端口號是 。 nodes 之間的通信采用特殊的二進制協議。
對客戶端來說,整個 cluster 被看做是一個整體,客戶端可以連接任意一個 node 進行操作,就像操作單一 Redis 實例一樣, 當客戶端操作的時候 key 沒有分配到該 node 上時,Redis 會返回轉向指令,指向正確的 node,這有點兒像瀏覽器頁面的 302 redirect 跳轉。
根據官方推薦,集群部署至少要 3 臺以上的 master 節點,最好使用 3 主 3 從六個節點的模式。
在 Redis 的每一個節點上,都有這么兩個東西, 一個是插槽(slot),它的的取值范圍是:0-, 可以從上面執行的結果看到這 個 slot 在三個 master 上的分布。 還有一個就是 cluster,可以理解為是一個集群管理的插件,類似的哨兵。
當我們的存取的 Key 到達的時候,Redis 會根據 crc16 的算法對計算后得出一個結果,然后把結果和 求余數,這樣每個 key 都會對應一個編號在 0- 之間的哈希槽,通過這個值,去找到對應的插槽所對應的節點,然后直接自動跳轉到這個對應的節點上進行存取操作。
為了保證高可用, redis-cluster 集群引入了主從模式 ,一個主節點對應一個或者多個從節點。 當其它主節點 ping 主節點 master 1 時,如果半數以上的主節點與 master 1 通信超時,那么認為 master 1 宕機了,就會啟用 master 1 的從節點 slave 1,將 slave 1 變成主節點繼續提供服務。
如果 master 1 和它的從節點 slave 1 都宕機了,整個集群就會進入 fail 狀態,因為集群的 slot 映射不完整。 如果集群超過半數以上的 master 掛掉,無論是否有 slave,集群都會進入 fail 狀態。
redis-cluster 采用去中心化的思想 ,沒有中心節點的說法,客戶端與 Redis 節點直連,不需要中間代理層,客戶端不需要連接集群所有節點,連接集群中任何一個可用節點即可。
對 redis 集群的擴容就是向集群中添加機器,縮容就是從集群中刪除機器,并重新將 個 slots 分配到集群中的節點上(數據遷移)。
擴縮容也是使用集群管理工具 。
擴容時,先使用 add-node將新的機器加到集群中,這是新機器雖然已經在集群中了,但是沒有分配 slots,依然是不起做用的。 在使用 reshard進行分片重哈希(數據遷移),將舊節點上的 slots 分配到新節點上后,新節點才能起作用。
縮容時,先要使用 reshard移除的機器上的 slots,然后使用 add-del移除機器。
采用去中心化思想,數據按照 slot 存儲分布在多個節點,節點間數據共享,可動態調整數據分布;
可擴展性:可線性擴展到 1000 多個節點,節點可動態添加或刪除;
高可用性:部分節點不可用時,集群仍可用。通過增加 Slave 做 standby 數據副本,能夠實現故障自動 failover,節點之間通過 gossip 協議交換狀態信息,用投票機制完成 Slave 到 Master 的角色提升;
降低運維成本,提高系統的擴展性和可用性。
Cluster 是無中心節點的集群架構,依靠 Goss 協議(謠言傳播)協同自動化修復集群的狀態。 但 GosSIp 有消息延時和消息冗余的問題,在集群節點數量過多的時候,節點之間需要不斷進行 PING/PANG 通訊,不必須要的流量占用了大量的網絡資源。 雖然 Reds4.0 對此進行了優化,但這個問題仍然存在。
2.數據遷移問題
Redis Cluster 可以進行節點的動態擴容縮容,這一過程,在目前實現中,還處于半自動狀態,需要人工介入。 在擴縮容的時候,需要進行數據遷移。
而 Redis 為了保證遷移的一致性,遷移所有操作都是同步操作 ,執行遷移時,兩端的 Redis 均會進入時長不等的阻塞狀態,對于小 Key,該時間可以忽略不計,但如果一旦 Key 的內存使用過大,嚴重的時候會接觸發集群內的故障轉移,造成不必要的切換。
主從模式:master 節點掛掉后,需要手動指定新的 master,可用性不高,基本不用。
哨兵模式:master 節點掛掉后,哨兵進程會主動選舉新的 master,可用性高,但是每個節點存儲的數據是一樣的,浪費內存空間。 數據量不是很多,集群規模不是很大,需要自動容錯容災的時候使用。
集群模式:數據量比較大,QPS 要求較高的時候使用。 Redis Cluster 是 Redis 3.0 以后才正式推出,時間較晚,目前能證明在大規模生產環境下成功的案例還不是很多,需要時間檢驗。
配置區別的話,高可用集群的配置對于CPU和內部軟件的性能要求更高,更注重它的散熱性與持續性。 集群(一組協同工作的計算機)是充分利用計算資源的一個重要概念,因為它能夠將工作負載從一個超載的系統(或節點)遷移到集群中的另一個系統上。 其處理能力是與專用計算機(小型機,大型機)可相比,但其性價比高于專用計算機.常見的硬件有:結點,網絡,存儲.軟件有:機群系統,節點系統,應用支撐軟件。 高可用(High Availability)集群,簡稱HA集群。 這類集群致力于提供高度可靠的服務。 就是利用集群系統的容錯性對外提供7*24小時不間斷的服務,如高可用的文件服務器、數據庫服務等關鍵應用。
內容聲明:
1、本站收錄的內容來源于大數據收集,版權歸原網站所有!
2、本站收錄的內容若侵害到您的利益,請聯系我們進行刪除處理!
3、本站不接受違法信息,如您發現違法內容,請聯系我們進行舉報處理!
4、本文地址:http://m.sycxjdsbhs.com/article/782e474d03ce78251c55.html,復制請保留版權鏈接!
簡介多項式回歸是一種機器學習算法,用于擬合基于多項式函數的數據,它是一種強大的工具,可用于對各種現象進行建模,例如增長模式、趨勢和周期,流行的多項式回歸方法,如polyfit,存在一些局限性,這些方法通常容易過擬合,并且可能對噪聲數據敏感,它們只能擬合低階多項式,這限制了它們的適用性,為了克服這些限制,本文將探討多項式回歸的替代方法和...。
本站公告 2024-09-29 19:15:02
黑洞黑洞是時空中的一個區域,它具有如此強大的引力,以至于任何東西,甚至光,都不能逃逸,黑洞是由恒星核心的重力坍縮形成的,當恒星耗盡核燃料時,它會開始坍縮,如果恒星足夠大,它的引力將變得如此強大,以至于它會形成一個黑洞,黑洞的視界是黑洞周圍的一個邊界,一旦穿過它,就再也沒有逃脫的可能,任何穿過視界的東西都將不斷地向黑洞中心下落,直到它被...。
互聯網資訊 2024-09-27 08:14:53
ECShop是一個功能強大的電子商務解決方案,致力于為企業提供全面且用戶友好的在線購物體驗,作為行業領先的平臺,ECShop已賦能無數企業,幫助他們在線銷售產品和服務,并建立成功且可持續的業務,ECShop的優勢易于使用,ECShop的用戶界面直觀且易于導航,即使是電子商務初學者也能輕松上手,全面的功能,ECShop提供全面的功能套件...。
互聯網資訊 2024-09-27 04:03:17
概述服務器推送是一種網絡技術,允許服務器在不等待客戶端請求的情況下主動向客戶端發送數據,這意味著服務器可以將網站或應用程序的更新、新事件或實時數據直接發送給客戶端,而無需客戶端發起請求,服務器推送的優點服務器推送提供了許多優點,包括,減少延遲,通過主動推送數據,服務器可以消除客戶端請求數據的延遲,從而減少頁面加載時間和提升整體響應速度...。
技術教程 2024-09-16 14:48:07
引言本指南旨在為有興趣構建自己的JavaWeb應用程序的個人提供一個全面且易于理解的介紹,我們將涵蓋從設置開發環境到部署應用程序的每個步驟,第1步,設置開發環境1.1安裝JavaJDK你需要在你的系統上安裝Java開發工具包,JDK,請訪問[Oracle網站],https,www.oracle.com,java,technolo...。
互聯網資訊 2024-09-16 10:40:51
對象導向編程,OOP,是一種強大的編程范式,可用于構建可擴展、可維護和可重用的代碼,OOP的核心概念包括封裝、繼承和多態性,這些概念使您能夠創建可輕松維護和擴展的應用程序,OOP的核心概念封裝封裝是將數據和方法組合到稱為對象的單個單元中的過程,這允許您隱藏對象的內部實現細節,只向外部世界公開您希望它們知道的接口,封裝有助于提高代碼的可...。
互聯網資訊 2024-09-11 02:17:42
Java是一種功能強大的編程語言,可用于創建各種應用程序,包括計算器,通過利用Java的可定制性,您可以創建滿足特定需求的定制計算器,例如科學或財務計算,科學計算器科學計算器是需要執行復雜數學運算的個人的理想選擇,使用Java,您可以創建具有以下功能的自定義科學計算器,三角函數,正弦、余弦、正切等,對數和指數函數統計函數,平均值、中位...。
技術教程 2024-09-10 23:10:24
簡介對象導向編程,OOP,是計算機編程中的一種范式,它通過使用對象、類和繼承等概念來組織代碼,在VB中,OOP的實現稱為vbs對象,本文將探索vbs對象的強大功能,包括可重用性、封裝和繼承,可重用性vbs對象的一個主要優點是其可重用性,創建一個對象后,可以將其多次用于不同的項目和應用程序,這可以節省大量時間和精力,并確保代碼的連貫性,...。
最新資訊 2024-09-09 03:38:09
前言歡迎來到Java電子書教程!本教程旨在為初學者提供一個簡潔明了的Java編程基礎入門指南,通過循序漸進的教程和大量的示例代碼,您將快速掌握Java的基本概念和語法結構,第1章,Java基礎什么是Java,Java的特點Java應用程序結構基本數據類型變量和操作符第2章,控制流程條件語句,if,else、switch,case,循環...。
本站公告 2024-09-07 19:13:06
在數據分析中,數據的質量至關重要,混亂或不完整的數據會導致分析結果不準確,并可能誤導決策,replace,函數是一個有用的工具,可用于處理混亂數據并提高數據質量,replace,函數的用法replace,函數的語法如下,replace,string,pattern,replacement,string,要替換的字符串,patte...。
互聯網資訊 2024-09-07 18:54:59
簡介網頁標題是用戶在瀏覽器選項卡和搜索結果中看到的文本,它不僅重要用戶體驗,也有助于搜索引擎優化,SEO,動態標題可以根據頁面內容、用戶位置或其他因素而變化,從而為用戶提供更相關和引人入勝的體驗,通過使用HTML源代碼中的簡單技巧,您可以輕松創建動態標題,使用document.title屬性document.title屬性可用于設置...。
最新資訊 2024-09-07 04:04:24
注意,以下內容可能引起不適或恐懼感,膽小者請謹慎閱讀,西湖斷橋,斷橋怨魂杭州西湖的斷橋上,相傳著一位名叫白素貞的蛇妖與書生許仙的凄美愛情故事,但傳說中,白素貞在斷橋上被法海鎮壓,留下了一抹怨氣,據說,每到深夜,斷橋上便會傳來白素貞的哀怨哭聲,令人毛骨悚然,北京朝陽門,鬼門關北京朝陽門外的京杭大運河邊,有一個地方叫鬼門關,傳說,這里曾是...。
互聯網資訊 2024-09-04 01:03:13