3. 前置依赖:操作系统要求(Linux/Windows)、网络与端口规划、DNS与负载均衡基础配置

在部署 Template 生成引擎基线核验环境之前,必须确保底层基础设施满足以下前置依赖条件。本章从操作系统选型、网络与端口规划、DNS 解析及负载均衡基础配置三个维度进行详细说明,避免因环境不一致导致核验流程中断。

3.1 操作系统要求

Template 生成引擎支持 Linux 与 Windows 两大主流操作系统,但生产级基线核验环境推荐优先使用 Linux 发行版。下表列出各操作系统的版本要求及关键配置项:

操作系统 推荐版本 最低内核/补丁要求 磁盘分区建议 Swap 空间
CentOS / Rocky Linux 7.9+ / 8.6+ / 9.0+ 内核 3.10.0-1160+ /var 独立分区 ≥ 50GB 物理内存的 1.5 倍
Ubuntu Server 20.04 LTS / 22.04 LTS 内核 5.4.0+ /opt 独立分区 ≥ 80GB 物理内存的 1.5 倍
Windows Server 2019 / 2022 KB5025221+ C: 盘剩余空间 ≥ 100GB 系统托管(建议 16GB+)
基线建议: 所有节点必须关闭 SELinux(Linux)或禁用 Windows Defender 实时扫描(Windows),避免文件系统权限干扰 Template 生成引擎的读写操作。关闭命令:setenforce 0(临时)或修改 /etc/selinux/config(永久)。

3.2 网络与端口规划

Template 生成引擎采用微服务架构,各组件之间通过特定 TCP 端口通信。端口规划必须避免与现有业务端口冲突,同时满足防火墙策略的最小开放原则。以下为核心端口清单:

服务组件 协议 默认端口 用途说明 防火墙策略
Template Engine API TCP 8080 RESTful 接口,供门户平台调用 仅允许门户子网访问
Template Engine gRPC TCP 50051 内部微服务间 RPC 通信 仅允许集群内网
Redis 缓存 TCP 6379 模板元数据缓存 仅允许 Engine 节点
PostgreSQL 数据库 TCP 5432 持久化模板版本与基线记录 仅允许 Engine 与管理节点
Prometheus Metrics TCP 9090 监控指标暴露端口 仅允许监控中心
Node Exporter TCP 9100 主机级监控数据采集 仅允许监控中心
端口冲突检查: 在部署前执行 ss -tlnp | grep -E '8080|50051|6379|5432|9090|9100'(Linux)或 netstat -ano | findstr "8080 50051 6379 5432 9090 9100"(Windows),确保目标端口未被占用。若端口冲突,需在配置文件中修改 server.port 或 grpc.port 参数。

3.3 DNS 与负载均衡基础配置

Template 生成引擎在基线核验环境中通常以多节点集群方式部署,DNS 解析与负载均衡是保障高可用与流量分发的核心前置条件。以下为推荐架构:

Template 生成引擎 DNS 与负载均衡架构 门户平台用户请求 DNS 解析 (A/CNAME) 负载均衡器 (Nginx/HAProxy) Engine 节点 1 Engine 节点 2 Engine 节点 3 Redis 缓存集群 PostgreSQL 主从

3.4 DNS 配置要点

  1. 域名规划: 为 Template 生成引擎分配独立域名,例如 template-engine.portal.internal,避免与门户平台主域名混用。
  2. 解析记录类型: 使用 A 记录指向负载均衡器 VIP(虚拟 IP),或使用 CNAME 记录指向负载均衡器域名。
  3. TTL 设置: 基线核验环境建议 TTL 设置为 60 秒,便于快速切换节点进行故障演练。
  4. 反向解析(PTR): 为所有 Engine 节点配置 PTR 记录,便于日志审计与监控系统溯源。
DNS 验证命令: 使用 dig template-engine.portal.internal +short(Linux)或 nslookup template-engine.portal.internal(Windows)确认解析结果正确指向负载均衡器 IP。

3.5 负载均衡基础配置

推荐使用 Nginx 或 HAProxy 作为负载均衡器,配置健康检查与会话保持。以下为 Nginx 最小配置示例:

upstream template_engine_backend {
    least_conn;
    server 192.168.1.10:8080 weight=5 max_fails=3 fail_timeout=30s;
    server 192.168.1.11:8080 weight=5 max_fails=3 fail_timeout=30s;
    server 192.168.1.12:8080 weight=5 max_fails=3 fail_timeout=30s;
}

server {
    listen 80;
    server_name template-engine.portal.internal;

    location / {
        proxy_pass http://template_engine_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 10s;
        proxy_read_timeout 60s;
    }

    location /health {
        proxy_pass http://template_engine_backend/actuator/health;
        access_log off;
    }
}
健康检查路径: 确保每个 Engine 节点已暴露 /actuator/health 端点(Spring Boot Actuator),否则负载均衡器无法自动摘除故障节点。若使用 HAProxy,需在 backend 段配置 option httpchk GET /actuator/health。

3.6 网络连通性验证清单

完成上述配置后,执行以下验证步骤确保环境就绪:

验证项 命令/操作 预期结果
DNS 解析 ping template-engine.portal.internal 返回负载均衡器 VIP
端口可达性 telnet 192.168.1.10 8080 连接成功,无拒绝
负载均衡转发 curl -I http://template-engine.portal.internal/actuator/health 返回 HTTP 200
节点故障转移 停止一个 Engine 节点后再次请求 请求自动转发至存活节点
基线核验环境特别提示: 在正式执行基线核验前,建议使用 nc -zv(Linux)或 Test-NetConnection(Windows PowerShell)对所有端口进行全量扫描,生成端口连通性报告,作为环境就绪的交付物之一。