大宗商品销采运储系统・六层架构连载(公共中间件层)
前面我们完成了基础服务层全系列的拆解,包含用户服务、日志服务、接口服务、调度服务、报表服务。
基础服务层为上层业务提供通用业务能力,而支撑所有基础服务、业务服务稳定运行的底层底座,就是公共中间件层。
在微服务落地过程中,很多团队会把中间件能力简单当成"组件直接拿来用",缺少统一规划。随着销采运储业务单据量持续上涨,会出现服务注册异常、配置管理混乱、消息堆积、缓存雪崩、故障难以定位等一系列分布式问题。
从本篇开始,开启公共中间件层连载。本篇先讲清楚三件事:
-
公共中间件层的定位与边界;
-
整套系统中间件全景架构;
-
五大体系拆解与选型原则。
一句话定调:
公共中间件层不承载业务,只承载稳定性、性能、通信、观测、分布式能力。
一、公共中间件层在六层架构中的定位
先回顾整套销采运储六层架构:
展示层 → 统一网关(鉴权/路由) → 业务服务层(采购/销售/仓储/运输) → 基础服务层(用户/日志/接口/调度/报表) → 公共中间件层(注册/配置/MQ/Redis/可观测) → 数据层(MySQL/数仓/对象存储)
公共中间件层属于底层基础设施,不承载任何业务逻辑,只为上层所有服务提供分布式通用能力。
它对上承接基础服务、业务服务的调用需求;对下对接数据库、文件存储等数据层。
核心价值:
把分布式场景下的服务发现、动态配置、异步通信、缓存加速、链路观测等能力统一收敛,避免各个业务服务各自重复造轮子,统一规范、统一运维、统一监控。
中间件层和基础服务层的边界
| 维度 | 基础服务层 | 公共中间件层 |
|---|---|---|
| 定位 | 通用业务能力 | 分布式技术底座 |
| 是否含业务 | 含业务语义 | 不含业务语义 |
| 典型组件 | 用户、日志、接口、调度、报表 | 注册、配置、MQ、Redis、可观测 |
| 服务对象 | 业务服务层 | 所有上层服务 |
| 故障影响 | 某类业务能力受影响 | 全站稳定性受影响 |
| 建设优先级 | 业务可跑起来 | 业务跑得稳、跑得快 |
结论:基础服务层解决"业务能力复用",公共中间件层解决"分布式稳定性"。

二、公共中间件层五大能力体系
整套大宗商品销采运储系统,公共中间件层包含五大能力体系:
1. 服务治理体系:注册中心 + 配置中心
负责微服务实例的自动发现、健康检测,全环境配置统一管理、动态下发。
-
注册中心:服务注册、心跳、健康检查、自动剔除、权重负载;
-
配置中心:环境隔离、版本管理、热更新、灰度配置、配置加密。
2. 消息通信体系:消息队列
实现跨服务异步解耦、流量削峰,支撑单据事件、对账通知、异步回调等大宗业务场景。
-
可靠投递、幂等消费、死信队列;
-
事务消息、最终一致性;
-
消息堆积治理、限流降级。
3. 分布式缓存体系:Redis 集群
提供热点数据缓存、分布式锁、接口限流、计数器等能力,减轻数据库查询压力。
-
多级缓存、集群高可用;
-
热点 Key、大 Key 治理;
-
穿透、击穿、雪崩防护;
-
分布式锁、一致性方案。
4. 可观测体系:链路追踪 + 指标监控 + 告警中心
串联日志服务,实现全链路调用追踪、指标采集、异常告警,快速定位跨服务故障。
-
Trace / Metric / Log 联动;
-
调用链还原、指标大盘;
-
告警分级、收敛、降噪;
-
故障定位闭环。
5. 公共底座能力:集群运维、权限、灾备基础能力
-
集群部署、扩缩容、节点运维;
-
中间件权限、账号、密钥管理;
-
灾备、异地多活基础能力。

重要边界说明
公共中间件层只提供基础组件能力,业务规则、报表逻辑、任务调度依然交给上层基础服务实现。中间件只做底层支撑,不侵入业务代码。
三、完整中间件全景架构

四、国产化落地选型原则
大宗商品行业项目,需要兼顾国产化适配、生产稳定性,选型遵循 4 条核心原则:
1. 高可用优先
组件必须支持集群部署,支持节点故障自动转移,单点故障不影响整体业务。
-
注册中心:至少 3 节点;
-
配置中心:至少 3 节点;
-
MQ:多主多从或主从切换;
-
Redis:主从 + 哨兵或 Cluster;
-
可观测:采集端、存储端、展示端分离部署。
2. 可观测可运维
自带指标采集,能够接入监控大盘,异常可以快速告警。
-
是否暴露 Prometheus 指标;
-
是否有官方或成熟 Dashboard;
-
是否支持日志接入;
-
是否支持告警规则配置。
3. 国产化兼容
支持国产服务器、国产操作系统、国产 JDK 环境适配,满足信创环境部署要求。
-
国产 CPU:鲲鹏、飞腾、龙芯等;
-
国产 OS:麒麟、统信等;
-
国产 JDK:毕昇、龙井等;
-
国产数据库:达梦、人大金仓、OceanBase 等。
4. 业务场景适配
贴合销、采、运、储业务特征,能够支撑大批量单据、夜间批量对账、高峰流量削峰场景。
-
采购入库、销售出库高峰;
-
夜间批量对账、报表预计算;
-
物流轨迹异步上报;
-
库存热点查询。

五、本篇小结
公共中间件层是整套销采运储系统的底层底座,不承载业务,只承载稳定性、性能、通信、观测、分布式能力。
它包含五大体系:
-
服务治理:注册中心 + 配置中心;
-
消息通信:消息队列;
-
分布式缓存:Redis 集群;
-
可观测:Trace + Metric + Log + 告警;
-
公共底座:集群运维、权限、灾备。
选型遵循四原则:高可用优先、可观测可运维、国产化兼容、业务场景适配。
一句话记住:
基础服务层决定业务能不能复用,公共中间件层决定系统能不能稳住。
下篇预告:我们进入公共中间件层第一个组件:注册中心架构设计,讲解微服务集群如何完成服务注册、健康检查、实例上下线,以及生产环境容易踩的心跳雪崩、僵尸实例等问题。