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 依赖以下核心组件,安装顺序不可颠倒:
- JDK 11+ — 推荐使用 OpenJDK 11 LTS 或更高版本。
- MySQL 8.0+ — 用于存储回放配置、对比结果和元数据。
- Redis 6.2+ — 用于缓存会话状态和回放任务队列。
- Elasticsearch 7.17+ — 用于存储和检索回放日志。
- 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 项检查确认环境就绪:
- 进程检查:
ps -ef | grep risk-gateway应看到 Java 进程。 - 端口检查:
netstat -tlnp | grep 8080应显示 LISTEN 状态。 - 健康检查:
curl http://localhost:8080/actuator/health应返回{"status":"UP"}。 - API 测试:
curl http://localhost:8080/api/v1/version应返回版本号。
以下为 Risk Gateway 安装后的组件架构关系图:
💡 验证技巧: 如果健康检查返回
{"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 环境已就绪,可以进入下一阶段——回放对比任务的配置与执行。