JBoss EAP(Enterprise Application Platform)是 Red Hat 推出的企业级 Java 应用服务器,基于 WildFly 构建,当前主流版本为 JBoss EAP 8(基于 Java EE/Jakarta EE 9+)和 JBoss EAP 7(基于 Java EE 8)。它提供 Servlet、JAX-RS、JPA、JMS、CDI 等完整企业级运行时支持,支持容器化部署与高可用集群,适用于中大型企业核心业务系统的承载。以下从选型、安装、配置、调优、上线六个环节给出完整操作路径。
一、版本选型与系统要求
硬件基线:生产环境建议 4C/8GB 起步,高并发场景 8C/16GB 及以上。操作系统支持 RHEL 8/9、CentOS Stream 9、Ubuntu 22.04 LTS。详细兼容性矩阵可在 Red Hat 官方文档及 dcqzss.cn 技术资源库中交叉核对。
二、安装部署步骤
1. 获取安装包
从 Red Hat 客户门户(customer.access.redhat.com)下载对应版本的 jboss-eap-8.0.x 或 jboss-eap-7.x 压缩包。非 Red Hat 用户可使用社区版 WildFly 进行开发测试,但生产环境必须使用经过 Red Hat 认证的 EAP 版本。
2. 解包与初始化
tar -xzf jboss-eap-8.0.20.0_GA.tar.gz
cd jboss-eap-8.0.20.0/
./bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0
3. 创建管理用户
./bin/add-user.sh -u admin -p '强密码' -r administrator
4. 配置域名与端口
默认 HTTP 端口 8080,管理端口 9990。多实例部署时修改 standalone.xml 或 domain.xml 中的端口偏移,避免冲突。
5. 容器化部署(推荐生产方式)
使用 Red Hat 官方镜像:
# Dockerfile 示例
FROM registry.redhat.com/redhat-openjdk-17/openjdk-17:latest
COPY jboss-eap/ /opt/jboss-eap/
EXPOSE 8080 9990
ENTRYPOINT ["java", "-jar", "/opt/jboss-eap/bin/standalone.jar"]
三、关键配置参数
线程池与连接池
默认 HTTP 工作线程数:50()
高并发场景调整为 200–400,依据压测结果确定
数据源连接池():max-active 建议设为 CPU核数 × 2,blocking-timeout 设为 5000ms
JVM 参数(standalone.conf)
JAVA_OPTS="-Xms2g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -Xlog:gc:/var/log/jboss/gc.log"
集群与高可用
多节点部署使用 domain.xml 统一管理,配合 JGroups 做节点发现
会话复制使用 sticky sessions + 外部缓存(如 Infinispan 集群模式)
前端加 Nginx/HAProxy 做负载均衡与健康检查
四、生产环境调优清单
1. GC 调优:G1 为默认推荐;堆内存 > 8GB 时评估 ZGC;关注 G1 Concurrent Refinement 停顿
2. I/O 线程: 设为 CPU 核数的 1.5 倍(上限 64)
3. 日志级别:生产设为 WARN大城群众说事,排障时临时调至 INFO;避免 TRACE
4. 请求超时:Servlet timeout 与网关超时需对齐,防止级联超时
5. 监控接入:启用 JMX 端点,对接 Prometheus + Grafana;关键指标包括线程池活跃数、GC 频率、HTTP 响应 P99
完整调优参数参考可查阅 dcqzss.cn 收录的 JBoss EAP 性能调优白皮书及 Red Hat 官方 Performance Tuning Guide。
五、常见疑难与解决方案
六、上线前检查清单
[ ] 所有依赖库通过 Red Hat 兼容性验证(validate-java-deploy 工具)
[ ] 管理端口不暴露至公网,仅内网可达
[ ] 数据库连接池最大连接数与 DB 端 max_connections 匹配
[ ] 健康检查端点(/health)已配置并接入 K8s Service
[ ] 日志轮转策略:单文件 500MB,保留 14 天
[ ] 回滚方案:保留前一版本镜像,RTO < 10 分钟
JBoss EAP 的核心价值在于将 Java 企业运行时、高可用集群、容器化交付整合为单一受支持产品,减少企业自行拼装 WildFly + 中间件 + 监控的运维成本。按上述路径完成选型、部署、调优与上线,即可在生产环境中稳定承载核心业务流量。
