大兴区政府项目智慧餐厅架构与云资源配置建议

版本日期:2026-06-16

调整口径:参照城市副中心架构,按大兴区政府约 10000 人就餐规模适度增强配置;服务器数量仍按 9 台云主机,数据库采用南大通用 GBase。

适用范围:大兴区一卡(脸)通智慧平台 / 大兴区政府项目。

本文参照北京城市副中心智慧餐厅最终架构方案编制,并按大兴区政府项目约 10000 人就餐规模对关键配置做适度增强。城市副中心项目按约 1500 人规模配置 9 台云主机和 OSS;大兴区政府项目本轮不增加服务器数量,仍按 9 台云主机规划,通过提升应用、数据库、缓存、生物识别和消息中间件配置来支撑更大服务人数。

1. 方案结论

大兴区政府项目建议采用与城市副中心一致的分区高可用架构:互联网区入口代理、政务外网区业务承载、数据库主备、缓存高可用、对象存储独立、生物识别独立、物联网消息中间件独立。

与城市副中心相比,大兴区政府项目的主要变化是:

推荐云主机数量为 9 台。OSS、负载均衡、WAF、堡垒机、日志审计、数据库审计等云服务不计入云主机数量。

2. 依据文件

3. 规模差异与设计原则

项目城市副中心大兴区政府项目架构影响
就餐服务人数约 1500 人约 10000 人人数约 6.7 倍,在线交易、移动访问、账户查询、刷脸识别和报表量均需放大。
入口访问小程序、管理端、PAD 端微信小程序、微信公众号 H5、管理后台、工商银行接口大兴多银行充值与查询链路,互联网入口规格需提高。
设备接入现场设备,城市副中心明确 56 台起步支持卡、码、脸消费机,设备数量待确认架构上沿用独立 EMQX 与政务外网负载均衡,先增强单节点规格,压测后再判断是否扩集群。
数据库OceanBase 主备南大通用 GBase 主备口径按本次确认调整默认采用南大通用 GBase;如客户云平台要求具体版本或兼容模式,按现场资源和适配测试确认。
人脸能力百度人脸离线 SDK 独立服务器刷脸消费/核销,不做人脸登录先增强单台生物识别服务器规格,支撑 10000 人人脸库;如刷脸峰值压测不足,再扩第二节点。
消息中间件EMQX 单节点HTTP 或 MQTT 设备通讯先沿用单台 EMQX 增强规格;如设备数量和消息峰值超出压测指标,再扩展集群。

设计原则:

  1. 架构分区沿用城市副中心:互联网区只做入口代理,政务外网区承载业务,数据与中间件不暴露到互联网区。
  2. 容量扩展不按人数线性堆机器,本轮优先增强高峰敏感组件的配置:应用服务器、数据库、缓存、生物识别、消息中间件和对象存储。
  3. 在线交易、批量任务和导入导出先共用政务外网应用服务器,通过任务调度、错峰执行、队列限流和报表导出窗口控制高峰影响;如压测不足,再拆分任务服务器。
  4. 设备通讯和移动访问分离,设备端经政务外网负载均衡和 EMQX,移动端和工商银行接口经互联网区负载均衡和 Nginx。
  5. 生产库、缓存、对象存储、生物识别、消息中间件均仅允许政务外网区授权服务器访问。

4. 推荐资源清单

资源类型数量网络区域推荐配置操作系统/服务用途
互联网区应用服务器2 台互联网区域4C/8G,100G 系统盘,200G 数据盘Alibaba Cloud Linux 3.2104 LTS 64位 ARM版 等保2.0三级版或客户认可国产化系统,Nginx微信小程序、微信公众号 H5、管理后台、工商银行接口 HTTPS 入口反向代理。
政务外网区应用服务器2 台政务外网区域24C/64G,100G 系统盘,500G 数据盘Alibaba Cloud Linux 3.2104 LTS 64位 ARM版 等保2.0三级版或客户认可国产化系统承载 PC 后台、移动端接口、设备接口、消费结算、充值查询、订餐、定时任务、导入导出和业务 API。
数据库服务器2 台政务外网区域24C/64G,100G 系统盘,1000G 数据盘南大通用 GBase 或客户指定国产数据库1 主 1 备,承载人员、组织、账户、充值、消费、订单、补贴、权限、设备和日志。
Redis 缓存服务器1 台政务外网区域8C/16G,100G 系统盘,200G 数据盘Redis 5.0 或信创兼容缓存服务会话、热点数据、接口限流、任务缓冲、分布式锁和高峰削峰。
生物特征识别服务器1 台政务外网区域16C/32G,100G 系统盘,300G 数据盘百度人脸离线 SDK 或客户确认的人脸识别服务人脸注册、特征提取、刷脸消费识别、刷脸核销和人脸删除。
物联网消息中间件服务器1 台政务外网区域16C/32G,100G 系统盘,300G 数据盘EMQX MQTT Broker 或客户认可消息中间件设备 MQTT 接入、心跳、回执、消息下发、订单结算消息和在线状态查询。
OSS 对象存储1 项政务外网区域2000G 起步对象存储服务人脸照片、菜品图片、附件、导入导出文件、备份文件和审计留存文件。
互联网区负载均衡1 套互联网区域固定 IP,300M 起步,可按云平台能力提升到 500M负载均衡/WAF/证书托管对外统一 HTTPS 入口,分发到 2 台互联网区 Nginx。
政务外网负载均衡1 套政务外网区域固定 IP,300M 起步,可按云平台能力提升到 500M负载均衡设备业务接口入口,分发到 2 台政务外网区应用服务器。

云主机数量:

2 台互联网区应用服务器
+ 2 台政务外网区应用服务器
+ 2 台数据库服务器
+ 1 台 Redis 缓存服务器
+ 1 台生物特征识别服务器
+ 1 台物联网消息中间件服务器
= 9 台云主机

5. 部署架构

flowchart LR
  subgraph Access["访问与外部侧"]
    User["就餐人员 / 管理人员
微信小程序 / 公众号H5 / 管理后台"]
    Bank["工商银行业务系统
充值 / 查询 / 对账"]
    Device["现场设备
消费机 / 点餐机 / 称重台 / 一体机"]
  end

  subgraph Internet["互联网区"]
    ILB["互联网区负载均衡
固定IP / 300M起步 / WAF / HTTPS证书"]
    N1["Nginx-1
4C/8G
HTTPS反向代理"]
    N2["Nginx-2
4C/8G
HTTPS反向代理"]
  end

  subgraph Gov["政务外网区"]
    GLB["政务外网负载均衡
固定IP / 300M起步 / 设备入口"]
    APP1["应用服务器-1
24C/64G"]
    APP2["应用服务器-2
24C/64G"]
    BIO["生物识别服务器
16C/32G"]
    MQTT["物联网消息中间件服务器
16C/32G
EMQX"]
  end

  subgraph Data["数据与存储区"]
    DB1["南大通用 GBase 主库
24C/64G / 1TB数据盘"]
    DB2["南大通用 GBase 备库
24C/64G / 1TB数据盘"]
    Redis["Redis缓存
8C/16G"]
    OSS["OSS对象存储
2000G起步"]
  end

  User -->|HTTPS 443| ILB
  Bank -->|业务接口 HTTPS| ILB
  ILB --> N1
  ILB --> N2
  N1 -->|内网反向代理| APP1
  N1 -->|内网反向代理| APP2
  N2 -->|内网反向代理| APP1
  N2 -->|内网反向代理| APP2

  Device -->|设备业务接口| GLB
  GLB --> APP1
  GLB --> APP2

  APP1 --> DB1
  APP2 --> DB1
  DB1 -->|主备同步| DB2

  APP1 --> Redis
  APP2 --> Redis
  APP1 --> OSS
  APP2 --> OSS

  APP1 -->|人脸注册/识别/删除| BIO
  APP2 -->|人脸注册/识别/删除| BIO

  APP1 -->|发布MQTT消息/查询设备状态| MQTT
  APP2 -->|发布MQTT消息/查询设备状态| MQTT
  Device <-->|MQTT 1883 或安全端口| MQTT

6. 业务访问链路

6.1 微信小程序、微信公众号 H5、管理后台链路

微信小程序 / 微信公众号 H5 / 管理后台
  -> 互联网区负载均衡
  -> 互联网区 Nginx-1 / Nginx-2
  -> 政务外网区应用服务器 1-2
  -> 南大通用 GBase / Redis / OSS / 生物识别服务 / EMQX

互联网区服务器只部署 Nginx、HTTPS/国密 SSL 证书和反向代理能力,不承载核心业务数据,不部署数据库、Redis、EMQX 和人脸 SDK。

6.2 工商银行充值链路

工商银行业务系统
  -> 互联网区负载均衡
  -> 互联网区 Nginx-1 / Nginx-2
  -> 政务外网区应用服务器 1-2
  -> 平台业务校验、充值订单处理、支付结果处理、对账/异常处理
  -> 南大通用 GBase 主库

大兴区项目仍按业务接口请求转发处理,不设置平台前置库、工商银行前置库和交换库。

6.3 设备端链路

消费机 / 点餐机 / 称重台 / 一体机
  -> 政务外网负载均衡
  -> 政务外网区应用服务器 1-2
  -> 消费、核销、订单结算和数据落库

设备 MQTT 通讯
  -> EMQX 消息中间件服务器
  <-> 应用服务器发布人员、人脸、卡、排菜、订单结算消息

设备接入建议同时保留 HTTP 接口和 MQTT 消息能力。交易类请求按幂等流水号、设备编号、接口账号、接口密钥、时间戳和签名控制;消息类请求按 Topic、QoS、回执、重试和消息日志控制。

6.4 生物识别链路

政务外网区应用服务器
  -> 生物识别服务器内部 API
  -> 百度人脸离线 SDK 或客户确认的人脸识别服务
  -> 返回识别结果、特征值、注册/删除结果

大兴区项目不做人脸识别登录。人脸能力仅用于刷脸消费、刷脸核销和人员人脸资料维护。

6.5 批量任务与报表链路

政务外网区应用服务器
  -> 定时任务 / 补贴 / 对账 / 批量同步 / 导入导出 / 报表
  -> 南大通用 GBase 主库
  -> OSS 保存导出文件、附件和备份文件

大兴区 10000 人规模下,人员导入、人脸照片批量处理、补贴发放、银行对账、消费明细导出和统计报表需要控制执行窗口。9 台服务器口径下,批量任务先部署在政务外网区应用服务器,通过错峰调度、队列限流、导出文件异步生成和报表缓存降低对就餐高峰的影响。

7. 访问权限策略

来源目标协议/端口用途策略
用户、管理人员、银行系统互联网区负载均衡HTTPS/443小程序、H5、管理后台、银行接口入口仅开放 443,结合 WAF、证书、白名单和访问频率控制。
互联网区负载均衡Nginx-1/Nginx-2HTTPS/443 或 HTTP/80入口请求分发仅允许负载均衡访问 Nginx 服务端口。
Nginx-1/Nginx-2应用服务器 1-2HTTP/HTTPS,按现场实际业务端口反向代理业务请求仅允许两台 Nginx 访问应用服务器业务端口。
现场设备政务外网负载均衡设备业务端口设备接口访问仅允许规划设备地址和设备网段访问。
政务外网负载均衡应用服务器 1-2设备业务端口设备业务分发仅允许负载均衡访问设备业务端口。
应用服务器南大通用 GBase 主库/备库南大通用 GBase 服务端口业务读写、任务处理、对账和报表仅允许授权业务服务器访问数据库端口。
南大通用 GBase 主库南大通用 GBase 备库主备同步端口数据同步仅数据库节点之间互通。
应用服务器Redis 缓存服务器6379 或现场实际端口会话、缓存、限流、队列和分布式锁仅授权业务服务器访问。
应用服务器OSS 对象存储OSS 内网端点图片、附件、导入导出和备份文件仅授权服务器和备份任务访问。
应用服务器生物识别服务器内部 API 端口人脸注册、识别、删除、特征提取仅应用服务器访问。
应用服务器、设备EMQX 消息中间件服务器MQTT 1883 或安全端口消息下发、订阅、心跳、回执仅授权服务器和设备网段访问。
运维人员堡垒机SSH/HTTPS运维入口所有服务器运维统一从堡垒机进入,禁止个人直连服务器。

8. 安全与合规策略

安全服务覆盖范围策略
WAF互联网区 HTTPS 入口防护 SQL 注入、XSS、恶意扫描、异常请求和高频访问。
堡垒机全部 ECS运维统一入口,按人员、工单和授权周期开通,保留操作审计。
日志审计Nginx、应用、数据库、Redis、EMQX、生物识别采集登录日志、操作日志、接口日志、设备通讯日志、人脸识别日志和错误日志。
主机安全全部 ECS基线检查、漏洞告警、恶意进程检测、弱口令检查、异常登录和文件篡改监控。
数据库审计南大通用 GBase 主库和备库审计登录、DDL、DML、高危 SQL、批量导出、越权访问和敏感数据访问。
漏洞扫描互联网入口、应用服务器、中间件、生物识别服务上线前扫描,重大漏洞整改后复扫。
备份恢复南大通用 GBase、OSS、应用配置、EMQX 配置、人脸 SDK 授权文件定期备份,定期恢复演练,明确 RPO/RTO。
证书管理互联网区负载均衡、Nginx、关键接口HTTPS/国密 SSL 证书统一管理,到期前续期;接口证书和设备证书纳入密钥台账。
最小权限安全组、防火墙、数据库账号、OSS 权限默认拒绝,按来源、目标、端口、用途逐项开通并定期复核。

9. 与城市副中心资源差异

组件城市副中心配置大兴区政府建议配置差异原因
互联网区应用服务器2 台,2C/4G2 台,4C/8G不增加服务器数量,只提升入口代理规格,支撑 H5、管理后台和工商银行接口请求。
政务外网应用服务器2 台,16C/32G2 台,24C/64G10000 人集中就餐、账户查询、充值、消费、订餐、设备接口压力更高,先增强单机能力。
数据库服务器2 台,16C/32G,500G 数据盘2 台,24C/64G,1TB 数据盘人员、交易、充值、日志、对账和导出数据量增加,但仍保持主备双节点。
Redis1 台,4C/8G1 台,8C/16G沿用单节点配置,提升规格,用于会话、热点缓存、限流、队列和分布式锁。
OSS1000G2000G 起步10000 人人脸、图片、附件、导入导出和备份留存增加。
生物识别服务器1 台,8C/16G1 台,16C/32G服务器数量不变,提升规格支撑 10000 人人脸库和集中餐次刷脸识别。
EMQX1 台,8C/16G1 台,16C/32G服务器数量不变,提升规格支撑更多设备心跳、消息下发和回执。
云主机数量9 台9 台维持城市副中心架构数量,只做配置增强。

10. 压测后扩容预案

本方案按 9 台云主机作为首期资源申请口径。上线前和试运行期应通过压测和运行监控决定是否扩容,而不是在申请阶段一次性扩大到 18 台。

触发条件首选动作后续动作
应用 CPU 长时间超过 70%,接口响应明显变慢优先优化接口、SQL、缓存和任务执行窗口若仍不足,再将政务外网应用服务器从 2 台扩到 3-4 台。
导入导出、补贴、对账影响就餐高峰交易调整为夜间或非高峰任务,启用队列限流和导出缓存若仍影响在线业务,再拆出 1-2 台任务/导出服务器。
Redis 内存或连接数接近上限清理缓存策略、限制大 key、提高单机规格如云平台支持,再改为高可用 Redis 或 3 节点集群。
人脸识别耗时或排队明显升高优化图片大小、人脸特征处理和调用并发若刷脸峰值不足,再增加第 2 台生物识别服务器。
EMQX 连接数、消息堆积或设备离线异常升高优化 Topic、QoS、心跳和设备重连策略若单节点不足,再扩展为 3 节点 EMQX 集群。
数据库慢 SQL、IO 或容量压力升高优先做索引、归档、日志分表和报表缓存若仍不足,再提升数据库规格或增加只读/报表节点。

11. 待确认事项

  1. 大兴区实际设备数量、设备类型、设备网段、是否全部支持 MQTT。
  2. 就餐高峰分布:早餐、午餐、晚餐的峰值时段和最大同时交易量。
  3. 南大通用 GBase 的具体版本、兼容模式、服务端口、主备同步方式和备份策略需要与客户云平台确认。
  4. 东方通适配范围:是否使用 TongWeb/TongRDS/TongLINK/Q 等中间件;如要求单独服务器,需要另行调整资源口径。
  5. 人脸识别服务是否继续使用百度离线 SDK,授权容量是否覆盖 10000 人;单台 16C/32G 是否能通过刷脸峰值压测。
  6. 工商银行接口 QPS、重试、对账频率、白名单、证书和签名验签要求。
  7. 日志留存周期:操作日志、交易日志、设备日志、人脸识别日志和审计日志是 90 天、180 天还是 1 年。
  8. OSS 是否可用;如果不能使用对象存储,需要改为独立文件服务器或 NAS,并重新测算容量和备份策略。
  9. 是否需要同城灾备或异地备份;本方案当前为同机房/同云资源池高可用。
  10. 负载均衡、WAF、堡垒机、日志审计、数据库审计、主机安全、漏洞扫描由客户云平台提供还是项目侧申请。

12. 确定性部署口径