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
    目录

    实际搭建节点数

    以下是主流分布式组件搭建高可用集群的最小节点要求及企业生产环境推荐配置,结合容错能力、资源成本和性能需求综合分析:


    # 🧩 一、协调与配置服务

    1. ZooKeeper

      • 最小高可用节点:3节点(容忍1节点故障)
      • 生产推荐:3节点(中小规模)、5节点(中大规模)
      • 关键机制:基于ZAB协议的过半原则(Quorum),3节点可容忍1节点宕机,5节点可容忍2节点宕机。
      • 避坑指南:必须奇数节点(偶数节点可能因脑裂导致集群不可用)。
    2. Nacos

      • 最小高可用节点:3节点(CP模式依赖Raft算法)
      • 生产推荐:3节点(标准配置)、5节点(跨机房部署)
      • 模式选择:
        • CP模式:Raft协议要求3节点保证强一致性。
        • AP模式:Distro协议(Gossip变种)支持2节点但生产必须3节点(防脑裂)。
    3. Consul

      • 最小高可用节点:3节点(Raft算法要求)
      • 生产推荐:3节点(单数据中心)、5+节点(多数据中心)
      • 特性:通过WAN Gossip同步跨数据中心状态。

    # 📨 二、消息与数据中间件

    1. Kafka

      • 最小高可用节点:3节点(需配合副本因子3)
      • 生产推荐:3节点(测试/中小流量)、5-7节点(高并发场景)
      • 核心机制:
        • ISR副本同步:副本因子≥3时,容忍1节点故障。
        • 分区分配:节点数需≥最大副本数(如副本因子3则至少3节点)。
    2. Redis Cluster

      • 最小高可用节点:6节点(3主3从)
      • 生产推荐:6节点(标准配置)、12+节点(大数据量)
      • 分区原理:16384槽位均分至主节点,从节点提供故障转移。

    # 🔍 三、搜索与分析引擎

    Elasticsearch

    • 最小高可用节点:3节点(含专用主节点)
    • 生产推荐:
      • 轻负载:3节点(混合角色)
      • 重负载:3专用主节点 + 多个数据节点
    • 防脑裂配置:
      discovery.zen.minimum_master_nodes = N/2+1(N为主节点数)。

    # 📊 四、节点配置总结表

    组件 最小高可用节点 生产推荐节点数 部署要点
    ZooKeeper 3 3(中小)、5(大型) 奇数节点防脑裂
    Nacos 3 3-5 CP模式必选3节点
    Consul 3 3-5 多数据中心需增加节点
    Kafka 3 3-7 副本因子=节点数
    Redis Cluster 6(3主3从) 6+ 主从1:1,槽位均分
    Elasticsearch 3 3专用主节点+N数据节点 主节点配置 minimum_master_nodes

    # ⚠️ 五、企业生产环境通用原则

    1. 容错与成本平衡

      • 所有组件均遵循 2N+1原则:容忍N节点故障至少需2N+1节点(如容忍1故障需3节点)。
      • 偶数节点不推荐:可能因网络分区导致脑裂(如4节点集群需3节点存活,容错能力与3节点相同但成本更高)。
    2. 性能扩展建议

      • 轻量级系统:3节点满足基本高可用(如ZooKeeper/Nacos测试环境)。
      • 高并发场景:
        • Kafka按吞吐量扩容(每节点支撑20-50MB/s)
        • ES数据节点按索引分片数线性扩展(建议单分片≤50GB)。
    3. 特殊角色隔离

      • ES分离专用主节点与数据节点(防资源竞争)
      • Redis主从节点分散在不同物理机(避免主从同机宕机)。

    注:实际部署需结合网络架构(如跨机房部署需增加节点数)、硬件资源及业务SLA综合设计。

    编辑 (opens new window)
    上次更新: 2025/06/24, 00:41:57
    Java后端开发中常见的分布式组件及其核心分布式算法
    节点和集群的关系

    ← Java后端开发中常见的分布式组件及其核心分布式算法 节点和集群的关系→

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