3、环境搭建与安装:Risk Gateway 的安装前提、依赖环境配置、安装步骤详解、安装验证

环境搭建是 Risk Gateway 回放对比平台落地的第一步。本章将系统讲解从硬件选型、依赖安装到最终验证的全流程,确保你能够独立完成一套可用的生产或测试环境部署。

3.1 安装前提与硬件要求

Risk Gateway 基于 Java 微服务架构,对操作系统、内存和磁盘有明确的最低要求。下表列出了推荐配置与最低配置的对比:

配置项 最低配置 推荐配置 说明
操作系统 CentOS 7.9 / Ubuntu 20.04 CentOS 8.4 / Ubuntu 22.04 内核版本 ≥ 4.18
CPU 4 核 8 核 主频 ≥ 2.0 GHz
内存 8 GB 16 GB JVM 堆内存至少分配 4 GB
磁盘 100 GB SSD 500 GB NVMe SSD 回放日志存储需要额外空间
网络 千兆以太网 万兆以太网 回放对比数据量大时需高带宽
⚠ 注意: 如果使用虚拟机或容器化部署,请确保宿主机已开启 CPU 虚拟化支持(Intel VT-x / AMD-V),否则 Risk Gateway 的流量回放引擎可能无法正常启动。

3.2 依赖环境配置

Risk Gateway 依赖以下核心组件,安装顺序不可颠倒:

  1. JDK 11+ — 推荐使用 OpenJDK 11 LTS 或更高版本。
  2. MySQL 8.0+ — 用于存储回放配置、对比结果和元数据。
  3. Redis 6.2+ — 用于缓存会话状态和回放任务队列。
  4. Elasticsearch 7.17+ — 用于存储和检索回放日志。
  5. Nginx 1.20+ — 用于反向代理和负载均衡(生产环境必选)。

以下为各依赖的安装验证命令:

# 验证 JDK
java -version
# 输出示例:openjdk version "11.0.18" 2023-01-17 LTS

# 验证 MySQL
mysql --version
# 输出示例:mysql  Ver 8.0.32 for Linux on x86_64

# 验证 Redis
redis-cli ping
# 输出示例:PONG

# 验证 Elasticsearch
curl -X GET "localhost:9200/"
# 输出示例:{"name" : "node-1", "cluster_name" : "rg-cluster", ...}

# 验证 Nginx
nginx -v
# 输出示例:nginx version: nginx/1.24.0
💡 提示: 建议使用 Docker Compose 快速搭建依赖环境。官方提供了 docker-compose-deps.yml 文件,一键启动 MySQL、Redis 和 Elasticsearch,大幅降低手动配置成本。

3.3 安装步骤详解

以下为 Risk Gateway 的完整安装流程,共分为 6 个步骤:

步骤 操作 关键命令 / 文件 预期结果
1 下载安装包 wget https://releases.risk-gateway.io/rg-3.2.0.tar.gz 安装包下载完成,SHA256 校验通过
2 解压并创建用户 tar -xzf rg-3.2.0.tar.gz -C /opt/
useradd -r -s /sbin/nologin rguser
目录 /opt/rg-3.2.0 存在,rguser 用户创建成功
3 配置数据库初始化 mysql -u root -p < /opt/rg-3.2.0/sql/init.sql 数据库 risk_gateway 及所有表创建完成
4 修改核心配置文件 vim /opt/rg-3.2.0/conf/application.yml 数据库连接、Redis 地址、ES 地址配置正确
5 启动服务 cd /opt/rg-3.2.0/bin && ./startup.sh 控制台输出 "Risk Gateway started successfully"
6 设置开机自启 systemctl enable rg.service 服务随系统自动启动

其中,application.yml 的核心配置片段如下:

server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/risk_gateway?useSSL=false&serverTimezone=Asia/Shanghai
    username: rgadmin
    password: ${DB_PASSWORD}
  redis:
    host: 127.0.0.1
    port: 6379

elasticsearch:
  hosts: http://127.0.0.1:9200
  index-prefix: rg-replay-
📌 关键点: 密码等敏感信息建议通过环境变量注入,不要硬编码在配置文件中。生产环境务必启用 SSL 连接数据库。

3.4 安装验证

安装完成后,通过以下 4 项检查确认环境就绪:

  1. 进程检查: ps -ef | grep risk-gateway 应看到 Java 进程。
  2. 端口检查: netstat -tlnp | grep 8080 应显示 LISTEN 状态。
  3. 健康检查: curl http://localhost:8080/actuator/health 应返回 {"status":"UP"}。
  4. API 测试: curl http://localhost:8080/api/v1/version 应返回版本号。

以下为 Risk Gateway 安装后的组件架构关系图:

Risk Gateway 安装后组件架构图 Risk Gateway 安装后组件架构 用户 / 客户端 Nginx 反向代理 Risk Gateway 核心服务 (端口 8080) 回放引擎 · 对比引擎 · 任务调度 MySQL 8.0 配置 / 元数据 / 结果 Redis 6.2 会话 / 任务队列 / 缓存 Elasticsearch 7.17 回放日志 / 对比索引 📋 说明: 所有组件安装在同一网络内,核心服务通过配置文件中指定的地址访问各数据层组件。 生产环境建议将 MySQL 和 ES 独立部署,Redis 可部署在同一台机器上。
💡 验证技巧: 如果健康检查返回 {"status":"DOWN"},请依次检查 MySQL 连接、Redis 连通性和 ES 索引状态。使用 tail -f /opt/rg-3.2.0/logs/rg.log 查看实时日志,错误信息会直接指出故障组件。

3.5 常见安装问题与解决

问题现象 可能原因 解决方案
启动后进程立即消失 JVM 堆内存不足 修改 bin/startup.sh 中的 -Xms4g -Xmx4g 参数
数据库连接失败 MySQL 未开启远程连接或密码错误 检查 application.yml 中的 URL 和凭证
回放任务一直处于等待状态 Redis 未启动或队列阻塞 执行 redis-cli ping 确认连通性
对比结果无法写入 Elasticsearch 索引模板未创建 执行 curl -X PUT "localhost:9200/_template/rg_template" -H 'Content-Type: application/json' -d @conf/es-template.json

完成以上所有步骤后,你的 Risk Gateway 环境已就绪,可以进入下一阶段——回放对比任务的配置与执行。