Plantre Plantre
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

plantre

一个后端开发者
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 计算机组成原理

  • 操作系统

  • 计算机网络

  • 设计模式

  • Java

  • Spring

  • SpringCloud

  • MySQL

  • Redis

  • 分布式

    • 理论等

    • 分布式算法

      • 什么是拜占庭将军问题
      • 一共有哪些分布式算法
      • 主流分布式系统的核心分布式算法
      • Java后端开发中常见的分布式组件及其核心分布式算法
      • 实际搭建节点数
      • 节点和集群的关系
        • 非拜占庭容错算法和拜占庭容错算法各有哪些
      • 分布式事务

      • 分布式锁

      • SpringCloud

    • Zookeeper

    • Dubbo

    • Kafka

    • 数据结构

    • 算法

    • OJ

    • 从道家哲学看计算机?
    • 后端
    • 分布式
    • 分布式算法
    plantre
    2025-06-19
    目录

    节点和集群的关系

    # 📚 节点与集群的关系

    节点(Node)是分布式系统中的基本单元,通常指一台物理服务器、虚拟机或容器实例,负责存储数据、处理请求或协调任务。
    集群(Cluster) 是由多个节点组成的逻辑集合,节点间通过协同工作实现
    高可用(HA)
    、负载均衡或高性能计算(HPC)。节点角色可同质(集群)或异质(分布式),但集群中节点通常功能相同(如ZooKeeper节点),通过冗余提升系统可靠性。


    # 🏭 企业生产环境各组件集群部署建议

    以下针对Java后端常见分布式组件,结合高可用与性能需求,给出节点配置方案:

    # 一、协调与配置服务

    组件 最小高可用节点数 生产推荐节点数 集群角色与说明
    ZooKeeper 3 3(中小规模)、5(大规模) 奇数节点(防脑裂),Leader+Follower角色,过半机制(Quorum)确保强一致性。
    Nacos 3 3-5 CP模式:Raft协议需3节点;AP模式:Distro协议(Gossip变种)支持3节点高可用。
    Consul 3 3(单数据中心)、5+(多数据中心) Raft协议管理Server节点,Client节点无状态;跨数据中心需WAN Gossip同步。

    # 二、消息与数据中间件

    组件 最小高可用节点数 生产推荐节点数 集群角色与说明
    Kafka 3 3-7 Broker节点,副本因子≥3(容忍1节点故障);依赖ZooKeeper(或自研KRaft)管理元数据。
    Redis Cluster 6(3主+3从) 6+ 主从1:1架构,16384槽位分片;Gossip协议同步状态,主节点故障自动切换。
    Elasticsearch 3 3专用主节点 + N数据节点 主节点(管理集群)、数据节点(存储索引);discovery.zen.minimum_master_nodes=N/2+1防脑裂。

    # 三、其他关键组件

    组件 最小高可用节点数 生产推荐节点数 集群角色与说明
    Eureka 2(理论)、3(生产) 3+ 无中心化,Gossip协议最终一致;自我保护机制防误删节点。
    RabbitMQ 3 3-5 镜像队列(Mirror Queue)实现数据冗余;需负载均衡分发请求。

    # 💎 部署原则总结

    1. 奇数节点原则:

      • ZooKeeper、Nacos、Consul等依赖过半选举(Quorum)的组件,必须部署奇数节点(如3/5/7),避免脑裂且容错率更高(3节点容1故障,5节点容2故障)。
      • 偶数节点(如4)容错能力与3节点相同(仅容1故障),但资源利用率低。
    2. 角色分离与扩展性:

      • 性能敏感型(如ES、Kafka):分离管理节点(Master)与数据节点(Data),避免资源竞争。
      • 水平扩展:数据分片组件(Redis、ES)按数据量扩容数据节点;协调组件(ZooKeeper)按集群规模扩容。
    3. 跨机房与多数据中心:

      • 多数据中心部署(如Consul、Nacos)需保证节点间低延迟(<200ms),并通过WAN Gossip同步状态。
    4. 最小资源与生产差异:

      • 最小节点数仅满足基础高可用,生产环境需根据并发量(Kafka按吞吐量扩容)、数据规模(ES分片数)、容灾等级(Redis跨机房主从)综合调整。

    注:实际部署需结合业务SLA、硬件资源及网络拓扑设计。例如:

    • 金融系统强一致场景:优先CP模式(3节点ZooKeeper/Consul)。
    • 高并发读写场景:Redis Cluster至少6节点(3主3从),ES分离主节点与数据节点。
    编辑 (opens new window)
    上次更新: 2025/06/24, 00:41:57
    实际搭建节点数
    非拜占庭容错算法和拜占庭容错算法各有哪些

    ← 实际搭建节点数 非拜占庭容错算法和拜占庭容错算法各有哪些→

    最近更新
    01
    集成loki
    07-04
    02
    TCP的ESTABLISHED是什么意思
    06-24
    03
    安装1panel
    06-24
    更多文章>
    Theme by Vdoing | Copyright © 2025-2025 plantre | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式