Skip to content

标准版(并发 600+)

标准版集群部署方案,适用于多数私有化生产场景,并发能力 600+。本方案在微服务、缓存、数据库与中间件层面提供基础冗余与容错能力,并给出关键组件的高可用部署文档索引,便于按组件实施与验收。

部署前必读

请先下载部署规范文档并按要求执行。(文档由管理员在明道云中维护,部署前联系获取)

一、方案概览

优势

  • 具备基本的高可用能力:节点冗余、自动容错,资源利用率相对均衡
  • 可满足大多数业务场景,组件扩展路径清晰
  • 存储与中间件具备集群化能力,降低单点风险

劣势

  • 不同存储组件间存在资源竞争与干扰,需合理分配与管理资源

参考资料

架构说明 · 部署规范


二、服务器配置

推荐配置

用途配置操作系统部署服务数量
负载与转发4C/8G/100G 系统盘/200G 数据盘Debian 12Nginx2
微服务应用16C/64G/100G 系统盘/200G 数据盘Debian 12微服务3
缓存服务4C/16G/100G 系统盘/200G 数据盘Debian 12Redis3
中间件8C/32G/100G 系统盘/500G 数据盘Debian 12Kafka、Elasticsearch、MinIO、文件服务4
数据库8C/32G/100G 系统盘/300G 数据盘Debian 12MySQL、MongoDB3
HDP(可选)8C/32G/100G 系统盘/200G 数据盘Debian 12超级数据平台服务2

磁盘与数据目录

如需将现有 /data 迁移到新数据盘,参考:数据盘挂载与 /data 数据迁移(安全版)

网络与 IP 分配

以下为示例拓扑,实际部署时请按环境规划 IP / VIP,并结合防火墙策略开放端口。

服务器角色内网IP(示例)主要组件主要端口
负载均衡01192.168.0.10Nginx80, 443
负载均衡02192.168.0.11Nginx80, 443
微服务01192.168.0.20Kubernetes Master, Istio, HAP8880, 38880
微服务02192.168.0.21Kubernetes Master/Worker, Istio, HAP8880, 38880
微服务03192.168.0.22Kubernetes Master/Worker, Istio, HAP8880, 38880
Redis01192.168.0.30Redis6379
Redis02192.168.0.31Redis6379
Redis03192.168.0.32Redis6379
中间件01192.168.0.40Kafka/ES/MinIO/文件服务(按角色拆分)9092, 9200, 9000
中间件02192.168.0.41Kafka/ES/MinIO/文件服务(按角色拆分)9092, 9200, 9000
中间件03192.168.0.42Kafka/ES/MinIO/文件服务(按角色拆分)9092, 9200, 9000
中间件04192.168.0.43Kafka/ES/MinIO/文件服务(按角色拆分)9092, 9200, 9000
MySQL01192.168.0.50MySQL3306
MySQL02192.168.0.51MySQL3306
MySQL03192.168.0.52MySQL3306
MongoDB01192.168.0.60MongoDB27017
MongoDB02192.168.0.61MongoDB27017
MongoDB03192.168.0.62MongoDB27017

三、架构说明

各层功能与数据流

层级功能数据流
负载均衡接收外网流量,转发到微服务入口用户请求 → Nginx → 微服务
微服务运行 HAP 业务,K8s + Istio 编排与治理请求处理 → 调用中间件/数据库
缓存Redis 缓存与队列(按业务使用)微服务 → Redis
中间件Kafka 消息、ES 搜索、MinIO 存储、文件服务微服务 → Kafka/ES/文件服务/MinIO
数据库MySQL / MongoDB 数据持久化微服务 → MySQL/MongoDB

本次实际节点拓扑(按当前服务器清单)

mermaid
flowchart TB
  U[用户/客户端] --> N1[nginx1\n入口反向代理/负载均衡]

  subgraph MS[微服务层]
    M1[微服务1\n业务服务/K8s 节点]
    M2[微服务2\n业务服务/K8s 节点]
    M3[微服务3\n业务服务/K8s 节点]
  end

  N1 --> MS

  subgraph CACHE[缓存层]
    R1[Redis1\n缓存/会话/队列]
    R2[Redis2\n缓存副本/高可用]
  end

  subgraph MQ[消息队列]
    K1[kafka1\n消息队列 Broker]
    K2[kafka2\n消息队列 Broker]
    K3[kafka3\n消息队列 Broker]
  end

  subgraph SEARCH[搜索与索引]
    E1[elasticsearch1\n索引/查询节点]
    E2[elasticsearch2\n索引/查询节点]
    E3[elasticsearch3\n索引/查询节点]
  end

  subgraph DB[数据库层]
    MY1[MySQL1\n主库/读写入口]
    MY2[MySQL2\n从库/只读/容灾]
    MG1[mongodb1\nReplicaSet 成员]
    MG2[mongodb2\nReplicaSet 成员]
    MG3[mongodb3\nReplicaSet 成员]
  end

  subgraph FILE[文件服务]
    F1[File1\n文件/对象存储节点]
    F2[File2\n文件/对象存储节点]
    F3[File3\n文件/对象存储节点]
    F4[File4\n文件/对象存储节点]
  end

  MS --> CACHE
  MS --> MQ
  MS --> SEARCH
  MS --> DB
  MS --> FILE

每个节点的作用(简表)

服务器作用说明
nginx1统一入口与转发承接外网访问(80/443),反向代理到微服务入口;可叠加 Keepalived/VIP 或上游 LB 提升入口高可用
微服务1业务服务运行节点承载 HAP/业务微服务与相关网关能力;通常作为 K8s Master/Worker 的其中一台(以实际部署为准)
微服务2业务服务运行节点与微服务1/3 共同承载业务负载,实现水平扩展与故障迁移
微服务3业务服务运行节点与微服务1/2 共同承载业务负载,实现水平扩展与故障迁移
mongodb1MongoDB 副本集成员存储业务文档数据;副本集用于高可用与容灾
mongodb2MongoDB 副本集成员与 mongodb1/3 共同组成 ReplicaSet,参与选主与数据复制
mongodb3MongoDB 副本集成员与 mongodb1/2 共同组成 ReplicaSet,参与选主与数据复制
MySQL1关系型主库(读写)存储核心业务关系数据;建议配 VIP/代理作为访问入口(按 MySQL 高可用方案)
MySQL2关系型从库(只读/容灾)用于读扩展、备份与故障切换;复制链路健康是关键
Redis1Redis 主节点(按方案)缓存、会话、轻量队列;建议配哨兵/Keepalived 或代理实现自动切换
Redis2Redis 副本节点(按方案)Redis 主从复制,承担高可用与读分担;避免单点
kafka1Kafka Broker消息队列集群节点,承载主题分区与副本,解耦异步任务
kafka2Kafka Broker与 kafka1/3 共同组成 Kafka 集群,提高吞吐与容灾
kafka3Kafka Broker与 kafka1/2 共同组成 Kafka 集群,提高吞吐与容灾
elasticsearch1ES 集群节点承载索引与查询;节点角色(master/data/ingest)按实际规划拆分
elasticsearch2ES 集群节点与 elasticsearch1/3 共同提供搜索与分析能力
elasticsearch3ES 集群节点与 elasticsearch1/2 共同提供搜索与分析能力
File1文件服务/对象存储节点存储附件与文件;可按“文件服务多节点/对象存储集群”方式部署(以实际组件为准)
File2文件服务/对象存储节点与 File1/3/4 共同组成文件存储层,实现容量与吞吐扩展
File3文件服务/对象存储节点与 File1/2/4 共同组成文件存储层,实现容量与吞吐扩展
File4文件服务/对象存储节点与 File1/2/3 共同组成文件存储层,实现容量与吞吐扩展

部署文档索引(标准版)

层级文档链接
数据库MongoDB 4.4 副本集 · MySQL + Keepalived 高可用服务配置
缓存Redis 主从 + Keepalived 高可用服务配置
中间件Kafka 集群 · Elasticsearch 集群 · MinIO 集群部署 · 文件服务多节点
微服务k8s 多 Master 集群部署 · Istio 安装与配置 · HAP 微服务
负载均衡Nginx

四、部署顺序

按以下顺序部署,每阶段完成后再进入下一阶段。

阶段部署范围部署顺序说明
1数据库层MySQL 高可用 → MongoDB 副本集先保证基础数据层稳定
2缓存层Redis 高可用缓存与会话依赖优先就绪
3中间件层Kafka 集群 → Elasticsearch 集群 → MinIO 集群 → 文件服务多节点消息/搜索/存储就绪
4微服务层Kubernetes 多 Master → Istio → HAP 微服务完成业务服务编排与治理
5入口层Nginx 双节点对外统一入口与转发
6可选监控与可视化Prometheus + Grafana

五、关键配置

入口与访问

  • 外网仅暴露 Nginx:https://<域名或公网IP>/(按实际环境配置)
  • Captain:http://<任一微服务节点IP>:38880(按实际环境配置)

微服务连接

  • MySQL:优先使用 VIP 或代理入口(按 MySQL 高可用方案配置)
  • MongoDB:使用副本集连接串(按 MongoDB 副本集方案配置)
  • Redis:优先使用 VIP 或代理入口(按 Redis 高可用方案配置)
  • Kafka:使用集群地址(按 Kafka 集群方案配置)
  • Elasticsearch:http://<ES入口>:9200(按实际环境配置)
  • 文件服务:http://<文件服务入口>:9000(按实际环境配置)

六、高可用与安全

高可用

  • 负载:Nginx 双节点(可结合 Keepalived/上游 LB 实现入口 VIP)
  • 微服务:Kubernetes 多 Master + 节点冗余 + 自动恢复 + Istio 服务治理
  • 缓存:Redis 主从 + Keepalived(VIP 作为访问入口)
  • 数据库:MySQL 主从 + Keepalived(VIP 作为访问入口),MongoDB 副本集
  • 中间件与存储:Kafka/Elasticsearch/MinIO 集群化,文件服务多节点

安全

  • 生产环境务必修改 MySQL、MongoDB、Redis、MinIO、文件服务默认口令并使用强口令
  • 对外仅开放 Nginx 必要端口,内网按最小权限开放组件端口
  • 使用 Kubernetes Namespace 与 Istio 做服务隔离与访问控制

七、与精简版的差异(用于选型)

对照 [simplified-cluster.md](file:///c:/Users/34563/Desktop/com/wiki/docs/mingdao/ops/private-deploy/simplified-cluster.md):

  • 精简版以少节点完成部署,默认存储与中间件偏单机,适合资源有限与中小规模场景
  • 标准版在缓存、数据库与中间件层增加节点冗余与集群能力,更适合生产与更高可用诉求

衣星科技知识库 © 2025