Docker:Docker網絡

?Docker Network 是 Docker 平臺中的一項功能,允許容器相互通信以及與外界通信。它提供了一種在 Docker 環境中創建和管理虛擬網絡的方法。Docker 網絡使容器能夠連接到一個或多個網絡,從而使它們能夠安全地共享信息和資源。

預備知識

推薦先看視頻先有個大概的了解,再對比視頻或文章進行動手操作

【入門篇】Docker網絡模式Linux - Bridge | Host | None_嗶哩嗶哩_bilibili

什么是 Network Namespace?

網絡命名空間 (Network Namespace): 網絡命名空間是 Linux 內核提供的一種網絡隔離機制。它就像是為每個容器創建了一個獨立的網絡環境。

  • 每個容器都有自己的網絡命名空間。主機也有一個默認的網絡命名空間。
  • 隔離性: 每個網絡命名空間有自己的網絡設備、IP 地址、路由表、防火墻規則等。
  • 獨立性: 在一個命名空間中的變更不會影響其他命名空間。
  • 靈活性: 允許在同一臺主機上運行多個相互隔離的網絡環境。

什么是 veth-pair?

veth-pair?(Virtual Ethernet Device Pairs): veth 是 "虛擬以太網設備" 的縮寫。它總是成對出現,像是一根虛擬的網線,連接不同的網絡命名空間。

  • 工作原理: veth 對的兩端分別位于不同的網絡命名空間。從一端發送的數據包會立即出現在另一端。
  • 用途: 主要用于連接不同的網絡命名空間,使它們能夠通信。
  • 在 Docker 中的應用:
    • 一端連接到容器的網絡命名空間。
    • 另一端連接到主機的默認命名空間(通常通過 docker0 網橋)。

namespace 和 veth 如何協同工作

VETH 想象成一根網線。一端連接到主機網絡,另一端連接到創建的網絡命名空間。讓我們連接電纜,并打開這些接口。通過接下來的步驟,我們將會理解容器都在自己的網絡環境中運行,為什么可以方便地與其他容器和外部網絡進行通信。

a. 容器創建: b. veth 對創建: c. 網絡連接: d. 通信過程:

  • Docker 為新容器創建一個新的網絡命名空間。
  • 在這個命名空間中創建一個虛擬網絡接口(如 eth0)。
  • Docker 創建一對 veth 設備。
  • 一端(如 veth1)被移動到容器的命名空間,并可能被重命名為 eth0。
  • 另一端(如 veth0)保留在主機的默認命名空間,并連接到 docker0 網橋。
  • 容器內的 eth0 通過 veth 對連接到主機上的 docker0 網橋。
  • docker0 網橋充當虛擬交換機,連接所有容器。
  • 容器間通信: 數據從一個容器的 eth0 經過 veth 對到達 docker0,再通過另一個 veth 對到達目標容器。
  • 容器與外部通信: 數據經過 veth 對到達 docker0,然后通過主機的網絡接口(如 eth0)發送到外部網絡。

通過這種方式,Docker 能夠在提供強大網絡功能的同時,實現了容器網絡的隔離性和互聯性。這為微服務架構和復雜的分布式系統提供了堅實的網絡基礎。

demo:在容器啟動默認網絡驅動

圖中顯示了lo(回環接口)和eth0(是我ES2的主網卡)的信息,其中docker0接口是允許不同容器之間以及容器與宿主機之間的網絡通信,注意state?DOWN

?

Docker 引擎的每次安裝都會自動包含三個默認網絡。bridge,host,none

?

此時檢查網絡驅動bridge信息

docker network inspect bridge

?

運行容器示例,觀察不同之處

docker run -itd --name=networktest ubuntu

?

?


Docker網絡驅動

?

讓我們把Docker網絡驅動想象成不同類型的道路系統,這樣可能更容易理解。

Bridge網絡(默認模式)

小方框代表不同的容器。底部的線代表Docker0網橋,連接所有容器。

?想象這是一個小區內部的道路系統。每個容器就像小區里的一棟房子,它們通過這個內部道路系統相互連接。對于大多數單機應用,Bridge網絡就足夠了。它提供了良好的隔離性和易用性。

Host網絡

大方框表示直接使用主機的網絡棧。?這就像直接把房子建在主干道上。容器直接使用宿主機的網絡,沒有任何隔離。這種模式性能最好,但安全性較低。

Overlay網絡

兩個橢圓形代表不同主機上的網絡。連接線表示跨主機通信。 這就像不同城市之間的高速公路,允許不同物理機器上的容器通信。

把這個想象成不同城市之間的高速公路網絡。它允許不同物理機器上的Docker容器進行通信,就像它們在同一個網絡中一樣。這對于構建跨多臺服務器的分布式系統非常有用。

Macvlan網絡

小方框代表擁有獨立MAC地址的容器。底部的線代表物理網絡。?

這就像給每個房間都分配了一個獨立的門牌號(MAC地址)。每個容器都可以直接連接到物理網絡,就像是網絡上的一個獨立設備。這在某些需要直接訪問物理網絡的特殊場景中很有用。

None網絡

這相當于一個沒有任何道路連接的孤島。容器完全與網絡隔離,不能進行任何網絡通信。這在一些特殊的安全要求下可能會用到。

使用場景

選擇合適的網絡驅動時,需要考慮以下因素:

  • 應用的架構和通信需求
  • 性能要求
  • 安全性和隔離級別
  • 部署環境(單主機vs多主機)
  • 可擴展性需求
  • 特定的網絡功能需求(如負載均衡、服務發現等)
  1. Bridge 網絡:
    • 最常用的網絡驅動,適合大多數單主機部署場景。
    • 理想用于開發和測試環境,因為它提供了良好的隔離性和易用性。
    • 適合部署獨立的Web應用、數據庫服務或微服務組件。
    • 當需要在同一主機上運行多個相互隔離的應用時,Bridge網絡是最佳選擇。
  2. Host 網絡:
    • 當網絡性能是首要考慮因素時使用,如高性能計算或網絡密集型應用。
    • 適用于需要訪問主機網絡棧的特權容器,如網絡監控工具或安全掃描器。
    • 在需要直接訪問主機網絡接口的場景中非常有用,如某些網絡管理工具。
    • 但要注意,由于缺乏網絡隔離,使用Host網絡時需要格外小心安全性。
  3. Overlay 網絡:
    • 在構建跨多個Docker主機的分布式應用時是理想選擇。
    • 非常適合微服務架構,允許服務在不同主機間無縫通信。
    • 在Docker Swarm集群環境中廣泛使用,提供了內置的服務發現和負載均衡。
    • 適用于需要高可用性和水平擴展的大規模應用部署。
  4. Macvlan 網絡:
    • 當容器需要在物理網絡上表現為獨立設備時使用。
    • 適用于網絡設備模擬或虛擬化網絡功能(NFV)場景。
    • 在需要直接暴露容器到外部網絡的情況下很有用,如特定的網絡安全要求。
    • 對于需要繞過Docker網絡棧以獲得最佳性能的場景也很適合。
  5. None 網絡:
    • 用于需要完全網絡隔離的特殊安全場景。
    • 適合需要自定義網絡棧的高級用戶。
    • 在某些特定的沙箱環境或安全敏感的應用中可能會用到。
    • 也可用于創建不需要網絡連接的數據處理或計算密集型容器。

Docker Bridge 工作原理

a. 網橋(Bridge): Docker在安裝時會創建一個名為docker0的網橋。這個網橋充當虛擬交換機,
所有容器都連接到這個交換機上,實現容器間的網絡通信。

b. veth-pair: 當創建容器時,Docker會創建一對虛擬接口(veth pair)。一端連接到容器內部,
另一端連接到docker0網橋。這就像用一根虛擬網線將容器和網橋連接起來。

c. IP地址分配: Docker會從預定義的網段中為每個容器分配一個IP地址。這相當于給每個
"房間"(容器)分配一個獨特的門牌號,便于識別和通信。

d. 端口映射: 如果需要從外部訪問容器內的服務,需要進行端口映射。這類似于在大樓的總機上
設置分機,讓外部可以直接與特定的"房間"(容器)通信。

e. NAT(網絡地址轉換): Docker使用NAT機制允許容器訪問外部網絡。當容器發起對外連接時,
Docker會將容器的私有IP地址轉換為主機的IP地址。

f. DNS服務: Docker提供內置的DNS服務,允許容器通過名稱相互發現和通信。這在使用自定義
網絡或部署多容器應用時特別有用。

g. iptables規則: Docker自動管理iptables規則,用于處理NAT、端口映射和網絡隔離。這些
規則確保了容器網絡的安全性和正確路由。


Overlay網絡的工作原理

  1. VXLAN封裝: Overlay網絡主要使用VXLAN(Virtual Extensible LAN)技術。VXLAN在原始的以太網幀外部添加一個VXLAN頭,然后封裝在UDP包中。
  2. 網絡標識: 每個Overlay網絡都有一個唯一的網絡ID(VXLAN Network Identifier, VNI),用于區分不同的虛擬網絡。
  3. VTEP(VXLAN Tunnel Endpoint): 每個Docker主機上運行一個VTEP。它負責封裝和解封裝VXLAN數據包。
  4. 分布式控制平面: Docker Swarm使用一個分布式數據庫(通常是etcd或Consul)來存儲網絡拓撲信息。
  5. 數據包傳輸流程: a. 源容器發送數據包 b. 本地VTEP封裝數據包(添加VXLAN頭) c. 封裝后的包通過物理網絡傳輸 d. 目標主機的VTEP接收并解封裝數據包 e. 數據包傳遞給目標容器

現在讓我詳細解釋Overlay網絡的跨主機通信原理:

  1. 網絡設置:
    • 每個Docker主機上都運行一個Overlay網絡(圖中橙色區域)。
    • 每個主機上都有一個VTEP(VXLAN Tunnel Endpoint,圖中紫色方框)。
  2. 容器通信過程: a. 源容器(容器1)發送數據包到目標容器(容器2)。 b. 數據包首先到達本地Overlay網絡。 c. VTEP接收到數據包,并進行VXLAN封裝:
    • 添加VXLAN頭,包含VNI(VXLAN Network Identifier)。
    • 將整個包封裝在UDP數據包中。 d. 封裝后的數據包通過物理網絡傳輸(圖中紅色底部區域)。 e. 目標主機的VTEP接收到數據包,進行解封裝。 f. 解封裝后的原始數據包通過目標主機的Overlay網絡傳遞給目標容器。
  3. VXLAN封裝:
    • 圖中間的方框顯示了VXLAN封裝的結構。
    • VXLAN頭包含VNI,用于標識特定的Overlay網絡。
    • 原始以太網幀被封裝在VXLAN包內。
  4. 網絡發現和路由:
    • Docker Swarm使用分布式數據存儲(如etcd)來維護網絡拓撲信息。
    • 每個VTEP知道如何將數據包路由到其他主機上的容器。
  5. 優勢:
    • 隔離性:不同Overlay網絡之間完全隔離。
    • 可擴展性:可以支持大量的網絡和容器。
    • 跨數據中心:可以在不同物理位置的主機之間創建Overlay網絡。
  6. 性能考慮:
    • VXLAN封裝會帶來一些性能開銷。
    • 在高性能要求的場景中,可能需要考慮網絡優化。

Overlay網絡的這種機制使得Docker容器能夠在不同的物理主機之間進行透明通信,就像它們在同一個本地網絡中一樣。這為構建大規模、分布式的容器應用提供了強大的基礎。

實際應用中,Overlay網絡常用于:

  • 微服務架構中服務之間的通信
  • 跨數據中心的應用部署
  • 大規模容器編排(如使用Kubernetes或Docker Swarm)

Docker自定義網絡

注意:前面的內容是原理理解就行,這里可能是最常用的了。

Docker自定義網絡就像是在一個大型辦公樓里創建專屬的部門局域網。每個網絡就像一個獨立的樓層或區域,有自己的規則和特點。

網絡驅動類型: 想象不同類型的辦公區域布局

a) Bridge(橋接): 最常用,就像標準的辦公樓層。

b) Overlay(覆蓋): 類似于跨多個辦公樓的虛擬專用網絡。

c) Host(主機): 直接使用主機網絡,像是直接在大樓的主網絡上工作。

d) Macvlan: 給容器自己的MAC地址,就像給每個員工獨立的網絡設備。

e) None: 沒有網絡,類似于隔離的私密辦公室。

創建自定義網絡: 就像規劃和設置新的辦公區域。?

docker network create --driver bridge my_network

網絡隔離: 每個自定義網絡就像一個獨立的樓層,默認情況下彼此隔離。 不同網絡的容器就像在不同樓層工作的員工,需要特殊通道才能互相通信。

自動DNS解析: 在自定義網絡中,容器可以通過名稱相互訪問,就像在辦公室里直接叫同事名字。 例如:ping container_name 就能工作,不需要知道IP地址。

IP地址管理: Docker會為每個加入網絡的容器分配IP,就像給新員工分配工位。 可以指定IP范圍:--subnet 192.168.1.0/24

連接容器到網絡

a) 創建時連接:docker run --network my_network ...

b) 已存在的容器連接: 這就像是把員工分配到特定的辦公區或讓他們進入新的項目組。

docker network connect my_network container_name

斷開網絡連接: 類似于臨時將員工調離某個項目組。

 docker network disconnect my_network container_name

網絡別名: 可以給容器在特定網絡中指定別名,就像給員工在不同項目中使用不同的代號。

docker network connect --alias db my_network container_name

自定義網絡的優勢

a) 更好的隔離性:不同項目組之間不互相干擾。

b) 自動服務發現:容器可以通過名字互相找到,不需要記憶復雜的IP。

c) 更安全:可以控制哪些容器可以相互通信。

d) 動態管理:可以隨時添加或移除容器,就像員工加入或離開項目組。

跨主機網絡: 使用Overlay網絡,可以讓不同物理機器上的容器通信,就像不同辦公樓之間建立專用通道。

網絡配置: 可以設置網絡的各種參數,例如MTU(最大傳輸單元)、網關等,就像調整辦公網絡的各種設置。

查看網絡信息: 這就像查看辦公區域的詳細平面圖和人員分布。

docker network inspect my_network

實際應用例子:

  1. 多層應用:前端容器在一個網絡,后端容器在另一個網絡,數據庫容器在第三個網絡。
  2. 微服務:每個微服務可以有自己的網絡,只有需要通信的服務之間建立連接。
  3. 開發環境:可以為不同的開發項目創建隔離的網絡環境

docker網絡聯通

思考:為了連接到網絡,計算機必須至少具有一個網絡接口。每個網絡接口必須有自己唯一的 IP 地址。提供給主機的 IP 地址將分配給其網絡接口。但是每個網絡接口都需要一個 IP 地址嗎?

當我們將一個容器連接到多個網絡時,它會獲得多個IP地址。為什么呢?

解釋:

  1. 默認網絡: 當一個容器被創建時,除非另有指定,它會自動連接到默認的"bridge"網絡,并獲得一個IP地址。
  2. 自定義網絡: 當我們將容器連接到一個自定義網絡時,它會在這個新網絡中獲得另一個IP地址。
  3. 多網絡連接: 一個容器可以同時連接到多個網絡,每個網絡中都會有一個唯一的IP地址。
  4. 網絡隔離: 每個網絡都是相互隔離的。容器在一個網絡中的IP地址對其他網絡是不可見的。
  5. 路由: 容器內部會有多個網絡接口,每個對應一個連接的網絡。

工作原理:

  1. 默認連接:容器創建時自動連接到默認bridge網絡,獲得172.17.0.2 IP地址。
  2. 自定義網絡連接:使用 docker network connect 命令將容器連接到自定義網絡。容器在新網絡中獲得另一個IP地址(172.18.0.2)。
  3. 多網絡接口:容器內部創建新的網絡接口(eth1)來處理新網絡連接。
  4. 路由:容器操作系統負責管理這些網絡接口和路由決策。
  5. 網絡隔離:每個網絡都是獨立的,容器在一個網絡中的通信不會影響其在另一個網絡中的通信。
  6. 靈活性:這種設計允許容器同時參與多個網絡環境,增加了網絡配置的靈活性。

優勢:

  1. 網絡隔離:可以將容器連接到多個隔離的網絡環境。
  2. 微服務架構:支持復雜的微服務部署,允許服務在不同網絡中扮演不同角色。
  3. 安全性:可以通過網絡分離來增強安全性,例如將數據庫容器連接到后端網絡,而不暴露給前端網絡。
  4. 靈活配置:允許在不中斷服務的情況下動態調整容器的網絡連接。

這種多網絡連接的能力使Docker容器能夠適應復雜的網絡拓撲需求,為現代分布式系統的部署提供了強大的支持。


參考

https://docs.docker.com/network/

https://docs.docker.com/engine/tutorials/networkingcontainers/

https://medium.com/techlog/diving-into-linux-networking-and-docker-bridge-veth-and-iptables-a05eb27b1e72

37、網絡連通_嗶哩嗶哩_bilibili

https://mostafizur99.medium.com/connecting-containers-with-vxlan-overlay-networks-mastering-multi-container-host-networking-a72cc561c098

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

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

相關文章

最長公共子序列求長度和輸出子序列C代碼

求兩個字符串的公共子序列我們都知道需要使用用動態規劃思想 用res[i][j]表示截止到字符串A的第i個字符串和截止到字符串B的第j個字符的最長公共子序列。如兩個字符串helloworld和loop,res[5][3]表示子串hello和子串loo的最長公共子序列,為lo&#xff0…

2024機器人科研/研發領域最新研究方向崗位職責與要求

具身智能工程師 從事具身智能領域的技術研究或產品開發,制定具身智能技術標準,利用大模型技術來提高機器人的智能化水平,研究端云協同的機器人系統框架,并賦能人形/復合等各類形態的機器人。具體內容包括不限于: 1、負…

maven項目使用netty,前端是vue2,實現通訊

引入的java包 <!-- 以下是即時通訊--><!-- Netty core modules --><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.76.Final</version> <!-- 使用最新的穩定版本…

C++初學者指南-4.診斷---地址檢測器

C初學者指南-4.診斷—地址檢測器 幻燈片 地址檢測器&#xff08;ASan&#xff09; 適用編譯器g,clang檢測內存錯誤 內存泄露訪問已經釋放的內存訪問不正確的堆棧區域 用額外的指令檢測代碼 運行時間增加約70%內存使用量大約增加了3倍 示例&#xff1a;檢測空指針 使用地址…

中英雙語介紹百老匯著名歌劇:《貓》(Cats)和《劇院魅影》(The Phantom of the Opera)

中文版 百老匯著名歌劇 百老匯&#xff08;Broadway&#xff09;是世界著名的劇院區&#xff0c;位于美國紐約市曼哈頓。這里匯集了許多著名的音樂劇和歌劇&#xff0c;吸引了全球各地的觀眾。以下是兩部百老匯的經典音樂劇&#xff1a;《貓》和《劇院魅影》的詳細介紹。 1.…

CP AUTOSAR標準之RAMTest(AUTOSAR_CP_SWS_RAMTest)(更新中……)

1 簡介和功能概述 AUTOSAR基礎軟件模塊“RAM測試”的功能、API和配置。 ??RAM測試是對RAM單元的物理健康狀況的測試。它不是為了測試RAM的內容。用于寄存器的RAM也經過測試。 ??在本文檔中,RAM單元被理解為內存單位,可由處理器單獨尋址。因此,對于16位處理器,單元大小(…

拉普拉斯逆變換

https://www.bilibili.com/video/BV17i4y1475Y?p21&vd_source2e6b4ba548ec9462b2f9633ff700e9b9 CV 17 陳永平教授關于拉普拉斯逆變換的式子的推導 最關鍵的兩步 想到取一個合適的contour L R L_R LR?部分是實部 γ \gamma γ要大于所有極點的實部,這樣就可以搞一個大…

SCI二區TOP|麋鹿群優化算法: 一種新穎的受自然啟發的元啟發式算法

目錄 1.背景2.算法原理2.1算法思想2.2算法過程 3.結果展示4.參考文獻5.代碼獲取 1.背景 2024年&#xff0c;SO Oladejo受到麋鹿群的繁殖過程啟發&#xff0c;提出了麋鹿群優化算法&#xff08;Elk herd optimizer, EHO&#xff09;。 2.算法原理 2.1算法思想 EHO靈感來自麋鹿…

設計外包管理辦法和步驟之HMI

設計外包流程和步驟之人機界面HMI, Human-Machine Interface 1. 源由2. 流程&步驟2.1 明確需求2.2 尋找外包公司2.3 簽訂合同2.4 項目啟動2.5 設計過程2.6 迭代開發2.7 驗收和交付2.8 維護和支持 3. 工具和平臺推薦4. 總結5. 補充 - 需求、交付、驗收5.1 需求5.2 交付5.3 驗…

C語言編程與進階

1.0 C語言關鍵字 1-1C語言關鍵字-CSDN博客文章瀏覽閱讀831次&#xff0c;點贊13次&#xff0c;收藏24次。define使用define定義常量return 0;使用define定義宏// define 定義宏&#xff0c;名字是ADD(x,y),x y 是宏的參數int a 10;int b 20;return 0;宏定義的本質是替換&am…

pandas讀取CSV格式文件生成數據發生器iteration

背景 數據集標簽為csv文件格式&#xff0c;有三個字段column_hander [‘id’, ‘boneage’, ‘male’]&#xff0c;需要自己定義數據集。文件較大&#xff0c;做一個數據發生器迭代更新數據集。 實現模板 在Pandas中&#xff0c;可以使用pandas.read_csv函數讀取CSV文件&…

ShardingSphere實戰

ShardingSphere實戰 文章目錄 ShardingSphere實戰分庫分表實戰建表建表sql利用存儲過程建表Sharding-jdbc分庫分表配置 基于業務的Sharding-key考慮訂單id用戶id分片策略訂單id的設計與實現**設計思想**&#xff1a;設計思路&#xff1a; 具體分片策略實現測試數據插入商戶商品…

推薦好玩的工具之OhMyPosh使用

解除禁止腳本 Set-ExecutionPolicy RemoteSigned 下載Oh My Posh winget install oh-my-posh 或者 Install-Module oh-my-posh -Scope AllUsers 下載Git提示 Install-Module posh-git -Scope CurrentUser 或者 Install-Module posh-git -Scope AllUser 下載命令提示 Install-Mo…

SwinUnet詳解

文章目錄 摘要一. 編碼端模塊1. PatchEmbed2. SwinTransformerBlock2.1. Window_partition2.2. WindowAttention2.3. Window_reverse2.4. MLP 3. PatchMerging 二. 解碼端模塊三. 完整流程圖 摘要 swinunet基本結構&#xff1a; swinunet采用編碼器-解碼器結構&#xff1a; 編…

5、MP4解復用---AAC+H264

MP4 MP4同樣是一種容器格式&#xff0c;是由一個一個Box組成&#xff0c;每個Box又分為Header與Data&#xff0c;Data又包含很多子Box&#xff0c;具體的MP4文件結構也看過&#xff0c;內部Box結構比較復雜&#xff0c;一般不寫MP4解釋器的話&#xff0c;Box結構不用了解太細&a…

.NET編程:C#下WinForms多語種切換的藝術

概述 在全球化的今天&#xff0c;軟件的多語言支持已成為標配。.NET中的WinForms應用程序提供了多種方式來實現多語種切換&#xff0c;讓軟件能夠跨越語言障礙&#xff0c;觸及更廣闊的用戶群體。本文將帶領大家探索C#下WinForms應用程序實現多語種切換的不同方法&#xff0c;通…

2.1 tmux和vim

文章目錄 前言概述tmuxvim總結 前言 開始學習的時間是 2024.7.6 ,13&#xff1a;47 概述 最好多使用&#xff0c;練成條件反射式的 直接使用終端的工具&#xff0c;可以連接到服務器&#xff0c;不需要使用本地的軟件 tmux 這個主要有兩個功能&#xff0c;第一個功能是分…

Linux多進程和多線程(七)進程間通信-信號量

進程間通信之信號量 資源競爭 多個進程競爭同一資源時&#xff0c;會發生資源競爭。 資源競爭會導致進程的執行出現不可預測的結果。 臨界資源 不允許同時有多個進程訪問的資源, 包括硬件資源 (CPU、內存、存儲器以及其他外 圍設備) 與軟件資源(共享代碼段、共享數據結構) …

Redis Cluster 模式 的具體實施細節是什么樣的?

概述 參考&#xff1a;What are Redis Cluster and How to setup Redis Cluster locally ? | by Rajat Pachauri | Medium Redis Cluster 的工作原理是將數據分布在多個節點上&#xff0c;同時確保高可用性和容錯能力。以下是 Redis Cluster 運行方式的簡要概述&#xff1a; …

讀書到底有什么意義?從笨小孩到名人的逆襲之路

點擊上方△騰陽 關注 作者 l 騰陽 轉載請聯系授權 讀書到底有什么意義&#xff1f; 有一個鳥語花香的農場里&#xff0c;住著老農夫和他的小孫子。 老農夫經常在清晨會坐在窗邊&#xff0c;捧著厚厚的《圣經》&#xff0c;沉浸在知識的海洋里。 小孫子問他&#xff1a;…