GFS(Gluster)分布式文件系统

目录

基本概念

一、核心概念与技术特性

二、架构组成与核心组件

工作流程

[一、GlusterFS 核心工作流程](#一、GlusterFS 核心工作流程)

[1. ‌客户端挂载流程‌](#1. ‌客户端挂载流程‌)

[2. ‌文件写入流程(以复制卷为例)‌](#2. ‌文件写入流程(以复制卷为例)‌)

[3. ‌文件读取流程‌](#3. ‌文件读取流程‌)

二、关键后台进程

三、故障处理流程

四、性能优化设计

优势

一、‌无中心化架构‌

二、‌极致横向扩展能力‌

三、‌数据高可用机制‌

四、‌协议兼容与生态集成‌

五、‌成本与运维优势‌

六、‌性能优化特性‌

缺陷

[🧠 一、元数据架构缺陷](#🧠 一、元数据架构缺陷)

[⚡ 二、性能局限性](#⚡ 二、性能局限性)

[🛠️ 三、运维挑战](#🛠️ 三、运维挑战)

[⚙️ 四、功能与生态短板](#⚙️ 四、功能与生态短板)

[💎 ‌总结:适用场景与规避建议‌](#💎 ‌总结:适用场景与规避建议‌)

卷类型

一、核心卷类型详解

[1. ‌分布式卷(Distribute Volume)‌](#1. ‌分布式卷(Distribute Volume)‌)

[2. ‌复制卷(Replica Volume)‌](#2. ‌复制卷(Replica Volume)‌)

[3. ‌条带卷(Stripe Volume)‌](#3. ‌条带卷(Stripe Volume)‌)

[4. ‌分布式复制卷(Distributed-Replica Volume)‌](#4. ‌分布式复制卷(Distributed-Replica Volume)‌)

[5. ‌条带复制卷(Stripe-Replica Volume)‌](#5. ‌条带复制卷(Stripe-Replica Volume)‌)

二、高级场景配置指南

[1. ‌弹性卷管理(动态扩容)‌](#1. ‌弹性卷管理(动态扩容)‌)

[2. ‌副本卷脑裂(Split-Brain)处理‌](#2. ‌副本卷脑裂(Split-Brain)处理‌)

[3. ‌性能优化配置‌](#3. ‌性能优化配置‌)

三、卷类型决策矩阵

四、关键注意事项

优化思路

一、‌拓扑结构优化‌

二、‌性能调优参数‌

三、‌自动化与监控‌

四、‌灾备与安全‌

五、优化案例

专业术语

一、核心专业术语

[二、卷类型术语(Volume Types)](#二、卷类型术语(Volume Types))

三、运维相关术语

英语单词

一、‌基础架构术语‌

二、‌协议与接口‌

三、‌运维关键词‌

四、‌扩展属性与标识‌

五、‌性能优化词汇‌


基本概念

一、核心概念与技术特性

  1. 无中心元数据设计
    GlusterFS 采用弹性哈希算法替代传统元数据服务器,文件定位通过路径名哈希直接映射到存储节点(Brick),消除单点故障和性能瓶颈。每个节点平等,支持横向扩展至 PB 级存储和数千客户端。
  2. 全局统一命名空间
    所有存储资源聚合成单一虚拟存储池,客户端通过统一挂载点访问数据,屏蔽底层物理结构变化。
  3. 高可用与冗余机制
    • ‌**复制卷(Replica Volume)**‌:文件多副本存储(如 2N 或 3N),节点故障时自动切换。
    • 自我修复‌:增量同步损坏数据,后台修复不影响性能。
  4. 协议兼容性
    原生支持 FUSE 接口,同时提供 NFS/SMB 网关,适配标准文件访问协议。

二、架构组成与核心组件

组件 功能说明
Brick 基本存储单元,即服务器上的物理目录(如 /data/brick1)。
Volume 逻辑卷,由多个 Brick 组成,提供统一存储空间(如分布式复制卷)。
Glusterd 运行在每个节点的守护进程,管理卷创建、扩容等操作。
FUSE 模块 客户端内核模块,将 GlusterFS 挂载至本地文件系统(如 /mnt/gfs)。

工作流程

一、GlusterFS 核心工作流程

1. ‌客户端挂载流程
  1. 协议协商
    客户端通过 glusterfs FUSE 模块或 NFS/SMB 协议连接至任意节点,获取 Volume 配置信息(包括 Brick 列表、卷类型)。
  2. 动态负载均衡
    客户端缓存 Brick 拓扑,后续请求直接与目标 Brick 通信,避免中心节点瓶颈。
2. ‌**文件写入流程(以复制卷为例)**‌
  1. 哈希定位
    文件路径通过 DHT 算法哈希确定主 Brick(如 hash("/data/file.txt") % N)。
  2. 副本同步
    • 主 Brick 接收数据后,通过 AFR 协议同步到其他副本节点。
    • 采用 ‌仲裁机制‌:多数副本(≥N/2+1)写入成功则返回客户端成功。
  3. 客户端确认
    主 Brick 聚合副本节点响应后返回写入状态,若副本故障触发自我修复任务。
3. ‌文件读取流程
  1. 元数据查询
    客户端通过扩展属性(xattr)获取文件分布信息(如副本位置)。
  2. 数据获取
    • 复制卷‌:优先从最近副本读取(基于网络延迟探测)。
    • 条带卷‌:并行从多个 Brick 拉取数据块并重组。

二、关键后台进程

进程 功能
Self-Heal 定期检测副本差异,修复裂脑文件(基于 gfid 和修改时间戳)。
Rebalance 扩容后迁移数据至新 Brick(distribute 卷触发全量迁移,replica 卷仅均衡副本)。
Quota Daemon 强制执行目录配额(通过 posix 扩展属性记录用量)。

三、故障处理流程

  1. 节点宕机检测
    glusterd 通过心跳包(默认 10s)标记节点状态,30s 超时触发副本切换。
  2. 自动恢复
    • 临时故障:副本间增量同步差异数据。
    • 永久故障:管理员替换 Brick 后触发全量修复。

四、性能优化设计

  1. 读写加速
    • Write-behind‌:合并小文件写入,批量提交至 Brick。
    • Read-ahead‌:预读后续数据块减少延迟。
  2. 元数据缓存
    客户端缓存目录结构(nl-cache)和文件属性(metadata-cache),降低重复查询开销。

该流程设计实现了去中心化、高可用的分布式存储,适合云原生和传统企业负载场景。

优势

一、‌无中心化架构

  1. 弹性哈希算法
    文件路径通过哈希直接映射到 Brick,无需元数据服务器,彻底规避单点故障和性能瓶颈。
  2. 全对称节点设计
    所有节点功能对等,扩容时仅需添加新节点,无需重构元数据集群。

二、‌极致横向扩展能力

  1. 线性容量增长
    每增加一个 Brick,存储池容量即扩展其物理容量(分布式卷模式下)。
  2. 千节点级支撑
    实测可扩展至数千节点,处理 PB 级数据与数千客户端并发访问。

三、‌数据高可用机制

  1. 多副本保护(AFR协议)
    文件跨节点同步复制(2N/3N),节点故障时自动切换至健康副本。
  2. 自我修复能力
    后台检测副本差异并自动同步,修复过程不影响业务IO。

四、‌协议兼容与生态集成

  1. 多协议支持
    原生提供 FUSE 接口,同时兼容 NFSv3/SMB 等标准协议,无缝对接现有应用。
  2. 云原生适配
    通过 Heketi 实现 Kubernetes 动态存储供给,适配 StatefulSet 等场景。

五、‌成本与运维优势

  1. 硬件无关性
    支持混搭新旧服务器和异构存储设备,显著降低硬件投资。
  2. 管理简易性
    命令行工具(如 gluster volume create)即可完成卷管理,运维复杂度远低于 Ceph。

六、‌性能优化特性

  1. 并行数据访问
    条带化卷可拆分大文件跨节点存储,聚合多 Brick 带宽提升吞吐量。
  2. 客户端缓存
    支持元数据(metadata-cache)和目录结构(nl-cache)缓存,加速重复访问。

GlusterFS 通过上述设计在扩展性、可靠性和易用性之间取得平衡,尤其适合需要简单架构、快速扩容的中大规模非结构化数据存储场景。

缺陷

🧠 一、元数据架构缺陷

  1. 元数据一致性风险
    • 无中心化设计导致文件属性(权限、时间戳等)分散存储,多客户端并发修改时可能因同步延迟引发冲突(如删除与修改操作竞态)。
    • 极端场景需人工干预解决元数据不一致问题,增加运维复杂度。
  2. 目录遍历性能瓶颈
    • 大型目录(如含 10 万文件)需跨节点聚合元数据,网络延迟显著降低 lsfind 等操作性能。

⚡ 二、性能局限性

  1. 小文件处理效率低
    • 元数据操作频繁且无法有效缓存,海量小文件场景(如文档存储)IOPS 急剧下降。
  2. 副本卷写入性能损耗
    • 同步写机制(AFR 协议)要求所有副本确认写入,副本数增加导致写延迟线性上升。
  3. 条带卷风险与收益失衡
    • 条带化虽提升大文件吞吐量,但单节点故障即导致文件损坏,需搭配副本使用(牺牲空间)。

🛠️ 三、运维挑战

  1. 脑裂(Split-Brain)处理复杂
    • 副本间网络中断可能导致数据版本冲突,需手动比对并修复(如 split-brain latest-mtime)。
  2. 扩容不灵活
    • 复制卷/条带卷必须以"组"为单位扩容(如 3 副本卷需一次性添加 3 节点)。
  3. 自修复效率不足
    • 后台同步(Self-Heal)可能因带宽限制滞后,故障节点恢复后易出现数据同步积压。

⚙️ 四、功能与生态短板

  1. 弱一致性模型限制
    • 默认采用最终一致性,金融/数据库等强一致性场景不如 Ceph 可靠。
  2. 块存储支持薄弱
    • 原生缺乏块设备接口,需通过第三方工具(如 QEMU)间接实现,性能与稳定性存疑。
  3. 监控与诊断工具简陋
    • 缺乏深度性能分析工具,故障定位依赖日志解析,调试成本高。

💎 ‌总结:适用场景与规避建议

缺陷类型 高风险场景 缓解方案
元数据性能瓶颈 频繁目录遍历操作 避免超大规模目录;启用元数据缓存
副本写入延迟 高并发写入环境(如日志采集) 优先使用分布式卷;降副本数(如 2)
脑裂风险 网络不稳定的跨机房部署 配置仲裁机制;定期检查副本状态
小文件性能差 海量图片/文档存储 评估 CephFS 或 HDFS 替代

GlusterFS 更适合 ‌大文件存储 ‌(如视频、备份归档)及 ‌横向扩展优先‌ 的场景,其在强一致性、低延迟块存储等领域需谨慎评估。

卷类型

一、核心卷类型详解

1. ‌**分布式卷(Distribute Volume)**‌
  • 工作原理 ‌:
    文件按哈希算法(如 DHT)分散存储在不同 Brick(存储节点),‌单个文件仅存于一个 Brick‌,无冗余。

  • 配置命令 ‌:

    复制代码
    gluster volume create dist-vol transport tcp \ 
    server1:/brick1 server2:/brick1 server3:/brick1 
    gluster volume start dist-vol 
  • 适用场景 ‌:

    • 海量非关键数据存储(如日志、备份归档)
    • 需要最大化存储空间利用率(无副本开销)
    • 对数据可靠性要求不高的场景
  • 性能特点 ‌:

    • ✅ 存储空间 = 所有 Brick 容量之和
    • ❌ 节点故障导致部分数据丢失
    • ⚠️ 文件访问性能受单 Brick 限制

2. ‌**复制卷(Replica Volume)**‌
  • 工作原理 ‌:
    文件‌同步镜像 ‌到多个 Brick(如 2 副本或 3 副本),基于 AFR(自动文件复制)协议保障数据一致性。

  • 配置命令(3 副本) ‌:

    复制代码
    gluster volume create rep-vol replica 3 transport tcp \ 
    server1:/brick1 server2:/brick1 server3:/brick1 
  • 适用场景 ‌:

    • 关键业务数据(如虚拟机镜像、数据库文件)
    • 高可用需求(允许 N-1 节点故障)
    • 读密集型负载(可从多个副本并行读取)
  • 性能特点 ‌:

    • ✅ 数据高可靠(副本自动修复)
    • ❌ 存储开销大(有效空间 = 总空间/副本数)
    • ⚠️ 写性能下降(需同步写入所有副本)

3. ‌**条带卷(Stripe Volume)**‌
  • 工作原理 ‌:
    大文件被‌分块‌(如 128MB/块)后轮询写入不同 Brick,类似 RAID 0。

  • 配置命令(分块大小 256MB) ‌:

    复制代码
    gluster volume create stripe-vol stripe 3 transport tcp \ 
    server1:/brick1 server2:/brick1 server3:/brick1 
    gluster volume set stripe-vol stripe-block-size 256MB 
  • 适用场景 ‌:

    • 超大文件读写(如 4K视频、科学计算数据集)
    • 需要高吞吐量的并行写场景
  • 性能特点 ‌:

    • ✅ 读写吞吐量 ≈ 所有 Brick 带宽之和
    • ❌ 单节点故障导致‌所有文件损坏
    • ⚠️ 小文件性能差(分块机制不适用)

4. ‌**分布式复制卷(Distributed-Replica Volume)**‌
  • 工作原理 ‌:
    先按文件分布式存储,再对每个文件创建副本(‌双层结构 ‌)。
    示例:4节点 2x2 卷 = 2组复制卷(每组2副本)+ 文件哈希分布到组

  • 配置命令(2x2 卷) ‌:

    复制代码
    gluster volume create dist-rep-vol replica 2 transport tcp \ 
    server1:/brick1 server2:/brick1 server3:/brick1 server4:/brick1 
  • 适用场景 ‌:

    • 生产环境标准方案(兼顾扩展性与可靠性)
    • 需同时支持大容量存储和高可用(如云平台镜像仓库)
  • 性能特点 ‌:

    • ✅ 支持横向扩展(添加 Brick 组)
    • ✅ 单组内节点故障不影响数据
    • ⚠️ 配置需满足:总Brick数 = 副本数 × N(N为整数)

5. ‌**条带复制卷(Stripe-Replica Volume)**‌
  • 工作原理 ‌:
    文件先分块,再为每个块创建副本(‌混合结构‌)。

  • 配置命令(2副本 + 分块) ‌:

    复制代码
    gluster volume create stripe-rep-vol stripe 2 replica 2 transport tcp \ 
    server1:/brick1 server2:/brick1 server3:/brick1 server4:/brick1 
  • 适用场景 ‌:

    • 超大文件高可用需求(如医疗影像存储)
    • 高性能计算集群的共享存储
  • 性能特点 ‌:

    • ✅ 大文件读写速度极快
    • ❌ 配置复杂,故障恢复耗时
    • ⚠️ 至少需要 条带数 × 副本数 个 Brick

二、高级场景配置指南

1. ‌**弹性卷管理(动态扩容)**‌
  • 向分布式卷添加新 Brick:

    复制代码
    gluster volume add-brick dist-vol server4:/brick1 
    gluster volume rebalance dist-vol start # 触发数据均衡 
2. ‌副本卷脑裂(Split-Brain)处理

当副本间数据不一致时:

复制代码
gluster volume heal rep-vol info # 查看裂脑文件 
gluster volume heal rep-vol split-brain latest-mtime <file> # 保留最新修改版本 
3. ‌性能优化配置
复制代码
# 启用写缓存(加速小文件写入) 
gluster volume set my-vol performance.write-behind on 
# 调整自我修复速度(降低对业务影响) 
gluster volume set my-vol cluster.background-self-heal-count 1 

三、卷类型决策矩阵

需求场景 推荐卷类型 关键配置建议
归档备份 分布式卷 无需副本,最大化容量
虚拟机存储 分布式复制卷(3副本) 副本数=3,启用快速自我修复
4K视频编辑共享存储 条带复制卷 分块=256MB,副本=2
Kubernetes持久化存储 分布式复制卷 通过 Heketi 动态供给
高性能计算临时存储 纯条带卷 分块=512MB,禁用日志

四、关键注意事项

  1. 副本卷节点分布 ‌:
    副本应部署在不同机架/可用区(通过 zone 标签),防止机架故障导致数据全丢。
  2. 条带卷风险 ‌:
    避免单独使用 ‌,必须搭配复制卷(如 stripe-replica)保障可用性。
  3. 扩容限制 ‌:
    • 复制卷/条带卷不可直接添加单个 Brick,需以‌组为单位扩容‌(如 2副本卷需一次加2节点)。

生产环境黄金法则‌:
分布式复制卷≥90%场景适用,副本数≥3(应对多点故障)分布式复制卷≥90%场景适用,副本数≥3(应对多点故障)

优化思路

一、‌拓扑结构优化

  1. 混合卷策略

    • 关键数据采用 ‌复制卷(3副本) ‌ 保障可用性,非关键数据使用 ‌分布式卷‌ 提升吞吐量。
    • 大文件场景启用 ‌条带化卷‌(如视频存储),需搭配副本降低数据丢失风险。
  2. 网络分层设计

    • 存储节点间配置 ‌10Gbps+ 专用网络‌,客户端访问层通过负载均衡(如 Nginx)分流请求。

二、‌性能调优参数

配置项 优化建议 适用场景
读写缓存 启用 performance.cache-size(建议 1GB+) 高频随机读写
自修复策略 设置 cluster.self-heal-window 限制修复带宽 避免修复流量挤占业务带宽
客户端线程 调整 client.event-threads 提升并发处理能力 多客户端高并发环境

三、‌自动化与监控

  1. 动态扩缩容
    • 通过 Kubernetes CSI 驱动实现按需扩容,结合 heketi 管理 Brick 自动化供给。
  2. 实时监控
    • 部署 Prometheus + Grafana 监控集群状态,重点跟踪 ‌副本同步延迟 ‌ 和 ‌节点负载‌。

四、‌灾备与安全

  1. 跨机房部署
    • 副本分散至不同故障域(如可用区),网络延迟需控制在 5ms 内。
  2. 加密传输
    • 启用 SSL/TLS 加密客户端通信,敏感数据卷配置静态加密(如 LUKS)。

通过上述优化,可在保证数据可靠性的同时提升 30% 以上吞吐量,适用于云原生及传统企业存储场景。

五、优化案例

一、硬件层优化

  1. 服务器配置

    • 计算节点:双路CPU(如Intel Xeon Gold 6348)+ 256GB内存

    • 存储节点:全闪存配置(NVMe SSD)+ RAID控制器BBU保护

    • 网络:25Gbps RDMA网卡(Mellanox ConnectX-6)

  2. **磁盘布局规范

    • 每个Brick使用独立XFS文件系统(mkfs.xfs -i size=512)

    • 禁用atime挂载选项:/dev/sdb1 /data xfs defaults,noatime,nodiratime 0 0

二、核心参数调优

  1. **服务端关键参数

    • 内存分配:performance.cache-size=4GB

    • 网络优化:cluster.tcp-window-size=1MB

    • 日志分级:server.event-threads=8

  2. **客户端优化

    • 启用内核级缓存:mount -t glusterfs -o background-qlen=64,reader-thread-count=4

    • 禁用属性缓存:performance.stat-prefetch=off

三、高可用架构设计

  1. **跨机房部署模型

    • 采用3+2部署:3副本本地机房 + 2副本异地机房

    • 同步策略:geo-replication sync-method=rsync

  2. **智能运维体系

    • 监控:Prometheus采集指标(glusterfs_volume_write_latency等)

    • 告警:当副本差异>5%时触发自修复

    • 扩容:通过Ansible实现滚动式节点添加

四、性能验证方案

  1. **基准测试

    • 工具:fio + gfapi直接测试

    • 场景:70%随机读+30%顺序写混合负载

    • 指标要求:单卷吞吐≥800MB/s,延迟<5ms

  2. **故障演练

    • 网络分区测试:模拟30%节点失联

    • 数据恢复验证:强制触发脑裂后修复

专业术语

一、核心专业术语

术语 英文全称/缩写 定义 关键说明
Brick Storage Brick 基础存储单元,即服务器上的物理目录(格式:SERVER:EXPORT 卷的底层构建块,需挂载到文件系统(如XFS)
Volume Logical Volume 一个或多个Brick的组合,提供统一命名空间的逻辑存储池 支持动态扩展,客户端直接挂载Volume使用
Translator Modular Translator 处理I/O请求的模块化组件链,实现数据路由、复制等功能 类似过滤器堆栈,可自定义扩展功能
FUSE Filesystem in Userspace 用户态文件系统接口,允许非特权用户挂载GlusterFS卷 客户端通过FUSE内核模块访问Volume
Geo-Replication Geographical Replication 跨地理位置异步复制数据,用于灾难恢复 基于rsyncgfproxy实现异地备份
Self-Heal Self-Healing Daemon 自动检测并修复副本间数据不一致的后台进程 仅复制卷/分布式复制卷生效,需监控修复延迟
Split-Brain Split-Brain State 副本间网络中断导致数据版本冲突的状态 需手动干预(如heal命令)或配置仲裁机制解决
Elastic Hash Distributed Hash Algorithm 无元数据服务器的文件定位算法,通过哈希计算确定文件存储位置 替代传统元数据查询,提升横向扩展性

二、卷类型术语(Volume Types)

卷类型 技术原理 典型应用场景
Distribute Volume 文件级RAID 0:文件分散存储在不同Brick,无冗余 大文件归档(如视频备份)
Replica Volume 文件级RAID 1:文件同步复制到多个Brick(如2副本=镜像) 高可用需求(如数据库存储)
Stripe Volume 文件分块存储(块级RAID 0),单文件拆解到多个Brick 超大文件并行处理(科学计算)
Distributed Replica 先分布式哈希,再组内复制(例:4节点2副本 = 2组镜像) 兼顾扩展性与冗余(企业应用)
Distributed Stripe 先分布式哈希,再组内条带化 海量小文件高吞吐场景(需谨慎)

三、运维相关术语

术语 作用 命令示例
Glusterd 运行在每个节点的守护进程,管理卷、节点和集群状态 systemctl status glusterd
Glusterfsd 处理客户端I/O请求的服务进程 默认随Volume启动
Trusted Pool 通过gluster peer probe互信的节点集合 gluster pool list
Quorum 集群决策的最小节点数,防止脑裂(默认50%+1节点) gluster volume set VOL quorum-type

英语单词

一、‌基础架构术语

  1. Brick

    • 定义:基础存储单元(格式:SERVER:EXPORT
    • 关联词:XFS(推荐文件系统)、mount(挂载命令)
  2. Volume

    • 定义:逻辑存储池,由Brick组合而成
    • 类型:Distribute(分布式)、Replica(复制)、Stripe(条带化)
  3. Translator

    • 定义:模块化I/O处理组件链
    • 示例:AFR(自动文件修复)、DHT(分布式哈希表)

二、‌协议与接口

术语 全称/解释 技术关联
FUSE Filesystem in Userspace 客户端挂载方式(非特权用户)
RDMA Remote Direct Memory Access 高性能网络协议(InfiniBand)
POSIX Portable Operating System Interface 文件系统兼容标准

三、‌运维关键词

  1. Self-Heal

    • 作用:自动修复副本间数据不一致
    • 命令:gluster volume heal VOLNAME info
  2. Split-Brain

    • 定义:副本网络隔离导致的数据冲突状态
    • 解决方案:heal命令或仲裁配置
  3. Quorum

    • 作用:集群决策最小节点数(防脑裂)
    • 配置:gluster volume set VOL quorum-type server

四、‌扩展属性与标识

  • GFID‌:Gluster文件唯一ID(128位)
  • Xattr‌:扩展文件属性(存储元数据)
  • Namespace‌:全局统一命名空间

五、‌性能优化词汇

  • Cache-size ‌:内存缓存大小参数(performance.cache-size
  • Event-threads ‌:客户端并发线程数(client.event-threads
  • Geo-Replication ‌:跨地域异步复制(基于rsync
相关推荐
代码写到35岁4 小时前
Jenkins自动发布C# EXE执行程序
运维·c#·jenkins
苹果醋38 小时前
AI大模型竞赛升温:百度发布文心大模型4.5和X1
java·运维·spring boot·mysql·nginx
liulilittle9 小时前
OpenSSL 的 AES-NI 支持机制
linux·运维·服务器·算法·加密·openssl·解密
风清再凯10 小时前
docker镜像的构建image
运维·docker·容器
饭碗、碗碗香10 小时前
【开发常用命令】:docker常用命令
linux·运维·笔记·学习·docker·容器
鸡鸭扣11 小时前
25年春招:米哈游运维开发一面总结
运维·面试·求职招聘·运维开发·面经·sre·米哈游
Auv开心11 小时前
ubuntu22.04和ubuntu20.04 的ssh配置不然repo init失败
运维·ssh
SZ17011023111 小时前
IGP(Interior Gateway Protocol,内部网关协议)
运维·服务器·gateway
moxiaoran575311 小时前
Spring Cloud Gateway 动态路由实现方案
运维·服务器·前端
运维日常手记12 小时前
最新1.33.1 k8s高可用集群搭建(免翻墙)
运维