中间件设计规范及安装手册
一、文档概述
1. 目标
为方便管理和规范应用,根据生产环境中间件的使用情况,特编制本《中间件设计规范及安装手册》。
本手册旨在统一生产环境中间件的创建与配置标准,为各应用系统的中间件设计提供指导和依据。
2. 约定
本规范适用于所有生产及测试环境中使用的商用和开源中间件产品,所有涉及中间件部署、维护、升级的人员均应遵循本手册内容执行。
二、中间件版本规范
中间件版本应定期进行回顾。
商用中间件(如 Oracle Tuxedo、Oracle WebLogic、IBM MQ、IBM WebSphere)应重点关注版本稳定性及厂商版本策略,包括:
- 服务支持期限
- 补丁修复计划
- 安全漏洞修复
- 新功能特性
开源中间件则应采用其社区推荐的稳定版本。
以下为建议版本列表,实际生产使用需结合业务需求进行评估与确认。
| 序号 | 中间件类别 | 产品名称 | 推荐版本 |
|---|---|---|---|
| 1 | 交易中间件 | Tuxedo | — |
| 2 | 应用服务器 | WebLogic | — |
| 3 | 应用服务器 | WebSphere | — |
| 4 | 应用服务器 | Tomcat | — |
| 5 | Web服务器 | Nginx | — |
| 6 | Web服务器 | Apache HTTP Server | — |
| 7 | 消息中间件 | RabbitMQ | — |
| 8 | 消息中间件 | RocketMQ | — |
| 9 | 消息中间件 | ActiveMQ | — |
| 10 | 消息中间件 | ZeroMQ | — |
| 11 | 缓存中间件 | MemCache | — |
| 12 | 缓存中间件 | Redis | — |
| 13 | 应用服务器 | Jetty | — |
| 14 | 应用服务器 | Netty | — |
| 15 | Web服务器 | HAProxy | — |
三、命名规范
1. 中间件产品命名规范
为便于管理与识别,中间件产品应统一采用名称缩写命名方式。后续引用中间件产品时,统一使用 MW_NAME 标识。
| 序号 | 中间件产品 | 名称缩写 |
|---|---|---|
| 1 | Tuxedo | tuxedo |
| 2 | WebLogic | weblogic |
| 3 | WebSphere | websphere |
| 4 | Tomcat | tomcat |
| 5 | Nginx | nginx |
| 6 | Apache HTTP Server | apache |
| 7 | RabbitMQ | rabbitmq |
| 8 | RocketMQ | rocketmq |
| 9 | ActiveMQ | activemq |
| 10 | ZeroMQ | zeromq |
| 11 | MemCache | memcache |
| 12 | Redis | redis |
| 13 | Jetty | jetty |
| 14 | Netty | netty |
| 15 | HAProxy | haproxy |
2. 应用系统命名规范
应用系统应使用英文小写缩写作为系统名称,确保简洁明了且不引起歧义。
例如:
“银企直连系统” →
bte
“数据中台系统” →dmp
后续引用统一使用 SYS_NAME 标识。
四、操作系统规范
1. 操作系统版本
为减少环境差异带来的不确定因素,应统一操作系统版本。
所选 OS 版本必须通过中间件厂商认证,方可用于生产环境。
2. 操作系统用户规范
(1)中间件用户规范
为便于管理与权限控制,统一中间件服务用户组与用户名规划如下:
-
组名:
mwagrp- 说明:所有中间件服务统一管理组。
| 中间件产品 | 用户名 | 所属组 | Home目录 |
|---|---|---|---|
| Tuxedo | tuxedo | mwagrp | /app/tuxedo |
| WebLogic | weblogic | mwagrp | /app/weblogic |
| WebSphere | websphere | mwagrp | /app/websphere |
| Tomcat | tomcat | mwagrp | /app/tomcat |
| Nginx | nginx | mwagrp | /app/nginx |
| Apache HTTP Server | apache | mwagrp | /app/apache |
| RabbitMQ | rabbitmq | mwagrp | /app/rabbitmq |
| RocketMQ | rocketmq | mwagrp | /app/rocketmq |
| ActiveMQ | activemq | mwagrp | /app/activemq |
| ZeroMQ | zeromq | mwagrp | /app/zeromq |
| MemCache | memcache | mwagrp | /app/memcache |
| Redis | redis | mwagrp | /app/redis |
| Jetty | jetty | mwagrp | /app/jetty |
| Netty | netty | mwagrp | /app/netty |
| HAProxy | haproxy | mwagrp | /app/haproxy |
(2)应用用户规范
应用部署需创建独立应用用户,用于发布、更新及系统管理操作,严禁使用中间件用户进行业务部署。
五、文件系统规范
各中间件安装目录应与应用目录、日志目录分离,确保运行安全和维护便利。
建议:
- 统一
/app目录作为中间件安装根路径; - 日志与备份目录单独划分;
- 严控访问权限,防止跨用户操作。
六、操作系统参数规范
| 参数名称 | 要求值 | 备注 |
|---|---|---|
| /tmp | 空闲空间 ≥ 4GB | 若不足,安装时可通过 Djava.io.tmpdir=tmpdirpath 参数指定临时目录 |
| openfile limit | 65536 | 单进程文件打开数限制 |
| coredump | -1 | 不限制 |
| fsize | -1 | 不限制 |
| rss | -1 | 不限制 |
| stack | -1 | 不限制 |
| RTC | 与时间服务器同步 | 建议使用定时任务:*/10 * * * * /usr/sbin/ntpdate <时间服务器> |
七、权限规范
各中间件及应用用户仅应拥有最小化操作权限。
系统管理员负责权限分配与定期检查,确保用户隔离、权限清晰。
本文档为企业生产环境中间件设计、安装及管理的统一规范依据,适用于后续新建、扩容及优化工作。
